MySQL数据库总结

MySQL 5.7.21免安装版 安装配置

1. 下载免安装版压缩包,在指定位置解压
2. 配置环境变量    MYSQL_HOME:D:\mysql-5.7.21-winx64
在系统环境path后面添加 ;%MYSQL_HOME%\bin,
3. 新建my.ini文件放在D:\mysql-5.7.21-winx64文件夹下,将如下代码放入my.ini文件中

    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    [mysqld]
    #设置3306端口
    port = 3306
    # 设置mysql的安装目录
    basedir=D:\mysql-5.7.21-winx64
    # 设置mysql数据库的数据的存放目录
    datadir=D:\mysql-5.7.21-winx64\data
    # 允许最大连接数
    max_connections=200
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    #开启查询缓存
    explicit_defaults_for_timestamp=true
    skip-grant-tables
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB

4. 管理员运行 cmd
mysqld --initialize --user=mysql --console
会出现默认初始化密码

5. 安装服务
mysqld --install MySQL5.7.21
启动服务:net start MySQL5.7.21
停止服务:net stop MySQL5.7.21
删除服务:sc delete MySQL5.7.21
sc delete 服务名

6. 重新打开 cmd窗口
登陆执行修改密码命令
set password for root@localhost='password';
如果修改密码失败,请先执行 flush privileges; 在执行修改。

MySQL字符编码设置

在命令窗口录MySQL,输入 \s 会看到MySQL数据库的相关信息

\s 显示mysql的基本信息 服务器端的基本信息
服务器 客户端(使用cmd登陆的那么客户端就是cmd)
mysql服务器的字符集就是什么库的字符集就是什么
库的字符集是什么表的字符集就是什么 往下继承的

mysql Ver 14.14 Distrib 5.6.22, for Win32(x86) //mysql版本
- Using delimiter: ;          //分割字符
- Sever characterset: latin1  //服务器字符集 拉美字符
- Db characterset: latin1     //数据库字符集 拉美字符
- Client characterset: gbk    //客户端字符集 国标
- Conn. characterset: gbk     //客户端连接字符集 国标
- TCP port: 3306

查看数据库字符集:
show create database 数据库名;
查看表的字符集:
show create table 表名;
只有当服务器和客户端的字符集相等才不会出现乱码。
主要关注数据库的字符集设置 characterset 有服务器字符集、数据库字符集、客户端字符集、连接使用字符集。

查看字符集设定

通过命令: show variables like '%char%';
          show variables like 'collation_%';
    可以查看数据库使用的字符集

设置字符集

通过MySQL命令行修改编码为utf8:

set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
set character_set_system=utf8;
set collation_connection=utf8;
set collation_database=utf8;
set collation_server=utf8;

修改数据库的字符集:
    mysql>use mydb
    mysql>alter database mydb character set utf8;
创建数据库指定数据库的字符集:
    mysql>create database mydb character set utf8;

通过配置文件修改:

修改 my.ini 配置文件中的MySQL字符集键值,然后重启MySQL服务。
default-character-set = utf8 
character_set_server = utf8 

MySQL创建用户授权

创建一个用户,如下:
create user 'username'@'%' identified by 'password';
然后赋予权限:
grant all on *.* to username@'%' identified by 'username;
注意:username是用户名
flush privileges; 

数据库操作语句

连接数据库:
1.连接数据库 mysql -h主机名 -u用户名 -p密码 
    -h:该命令用于指定客户端所要登录的MySQL主机名, 登录当前机器该参数可以省略
2.将使用过的语句储存为log日志文件 mysql -u用户名 -p密码 --tee d:\mysql.log

数据库操作:
3.show databases;
    查看当前用户的所有数据库
4.use test;
    连接test数据库
    也可以在登陆mysql时 执行: mysql -D所选择的数据库名 -h主机名 -u用户名 -p用户密码
5.create database 数据库名称 [其他选项];
    在当前用户下创建新的数据库
    eg: create database samp_db character set gbk; 
    在创建时通过 character set gbk 将数据库字符编码指定为 gbk
6.drop database 数据库名称;
    删除数据库

表操作:
7.create table 表名(表字段 字段类型 约束条件);
    创建表
8.show tables;
    查看当前用户所有表
9.desc 表名;
    查看已创建的表的详细信息
10.select * from 表名;
    查看表里的记录
11.mysql -D数据库名 -u用户名 -p密码 < createtable.sql
    通过命令提示符下的文件定向执行执行该脚本
12.insert语句可以用来将一行或多行数据插到数据库表中
    insert [into] 表名 [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...);
13.select语句常用来根据一定的查询规则到数据库中获取数据
    select 列名称 from 表名称 [查询条件];
    可以使用通配符 * 查询表中所有的内容, 语句: select * from students;
14.按特定条件查询
    where 关键词用于指定查询条件, 用法形式为: select 列名称 from 表名称 where 条件;
    where 子句不仅仅支持 "where 列名 = 值" 这种名等于值的查询形式, 对一般的比较运算的运算符都是支持的, 例如 =、>、<、>=、<、!= 以及一些扩展运算符 is [not] null、in、like 等等。还可以对查询条件使用 or 和 and 进行组合查询。
15.update 语句可用来修改表中的数据
    update 表名称 set 列名称=新值 where 更新条件;
16.delete 语句用于删除表中的数据
    delete from 表名称 where 删除条件;
17.alter table 语句用于创建后对表的修改
    1)添加列
    基本形式: alter table 表名 add 列名 列数据类型 [after 插入位置];
    eg.在表的最后追加列 address: alter table students add address char(60);
    eg.在名为 age 的列后插入列 birthday: alter table students add birthday date after age;
    2)修改列
    基本形式: alter table 表名 change 列名称 列新名称 新数据类型;
    eg.将表 tel 列改名为 telphone: alter table students change tel telphone char(13) default "-";
    eg.将 name 列的数据类型改为 char(16): alter table students change name name char(16) not null;
    3)删除列
    基本形式: alter table 表名 drop 列名称;
    eg.删除 birthday 列: alter table students drop birthday;
    4)重命名表
    基本形式: alter table 表名 rename 新表名;
    eg.重命名 students 表为 workmates: alter table students rename workmates;
    5)删除整张表
    基本形式: drop table 表名;
    eg.删除 workmates 表: drop table workmates;
    6)删除整个数据库
    基本形式: drop database 数据库名;
    eg.删除 samp_db 数据库: drop database samp_db;

18.修改密码:SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

MySQL每天0点弹框

右键计算机 -> 管理 -> 计算机管理 -> 系统工具 -> 任务计划任务 -> 任务计划程序库
在里面找到 MySQL的一个每天0点触发的任务,删除即可。

如图所示:

你可能感兴趣的:(数据库)