一 启动和登录
1.启动 net start mysql
如果提示拒绝访问:5 或系统错误:5,需要使用管理员身份打开cmd
2.关闭 net stop mysql
3.登录
1.本地连接 mysql -u用户名 -p 回车后根据提示输入密码
2.远程连接 mysql -hip -u用户名 -p 回车后根据提示输入密码
如果遇到“mysql 不是内部或外部命令,也不是可运行的程序 或批处理文件。”,可以配置环境变量或进入到mysql的安装目录下的bin目录执行。配置环境变量在系统变量的path里添加上mysql安装目录的bin目录路径即可。
4.退出 exit 或者 quit
二sql语言分类
1.DDL 操作数据库和数据表
a.操作数据库(CURD)
C(Cteate):创建
1)创建数据库 create database 数据库名称;
2)判断数据库不存在再创建 create database if not exists 数据库名;
3)创建时指定数据库字符集 create database 数据库名称 character set 字符集;
R(Retrieve) 查询
1)查询数据库 show databases
2)查看数据库创建语句 show create databases 数据库名称; 可以查看数据库字符集等信息
U(update)修改
1)修改数据库字符集 alter database 数据库名称 character set 字符集;
2)在 MySQL 5.1.23 之前的旧版本中,我们可以使用 RENAME DATABASE 来重命名数据库,但此后版本,因为安全考虑,删掉了这一条命令。
D(delete)删除数据库 危险操作,谨慎执行)
1)删除数据库 drop database 数据库名称;
2)删除前判断是否存在避免错误 drop database if exists 数据库名称;
使用数据库:必须进入数据才能使用数据库
1)查询正在使用的数据库 select database();
2)use 数据库名称;
b.操作表
C(Cteate):创建
1)创建表 create table 表名称(列名1 数据类型 ,)列名2 数据类型 ,...列名N 数据类型);
示例:create table student( id int, name varchar(32), age int, score double(4,1), birthday date, insert_time timestamp);
数据类型参考 https://www.runoob.com/mysql/mysql-data-types.html
2)复制表 reate table 新表名 like 要复制的表名;
R(Retrieve) 查询
1)查询数据库中所有表 show tables;
2)查询表结构 desc 表名称;
3)查询表创建语句、字符集 show create table 表名称;
U(update)修改
1)修改表名 alter table 表名称 rename to 新表名;
2)修改字符集 alter table 表 character set 字符集;
3)添加列 alter table 表 add 列名 数据类型;
4)修改列名称、类型 alter table 表名 change 旧列名 新列名 数据类型;
5)修改列的数据类型 alter table 表名 modify 列名 数据类型;
6)删除列 alter table 表名 drop 列名;
D(delete)删除数据库 危险操作,谨慎执行)
1)删除表 drop table 表名称
2)删除前判断是否存在避免错误 drop table if exists 表名称;
2. DML增删该表数据
...
3.DQL 查询表数据
...
4.DCL 权限管理
a)管理用户
查询用户
※切换到mysql数据库 USE mysql
※查询user表 SELECT * FROM user;
注意:通配符 % 表示可以在任意主机登录
添加用户:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码'
删除用户:DROP USER '用户名'@'主机名'
修改用户密码:(
5.7版本把paddword字段更改为authentication_string字段 UPDATE user SET password/authentication_string = PASSWORD('新密码') where user = '要修改的用户'后边不知道什么版本开始,password函数也被移除,修改密码语句改为ALTER USER '用户名'@'主机名' IDENTIFIED BY '新密码';
忘记mysql的root密码(8.0之前版本):
1.管理员运行cmd停止mysql服务 net stop mysql
2.使用无验证启动mysql服务:mysqld --skip-grant-tables
3.管理员运行cmd输入 mysql 回车
4.使用mysql库 use mysql
5.执行修改密码语句
6.关闭两个cmd窗口
7.打开任务管理器,手动结束 mysql.exe进程
8.启动mysql,使用新密码登录
b)授权
1.查询权限
show grants for '用户名'@'主机名'
2.授予权限
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名'
权限列表(select,insert,delete,update)
所有权限通配符 all grant all on 数据库名.表名 to '用户名'@'主机名'
库和表的通配符 * grant all on *.* to '用户名'@'主机名'
3.撤销权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名'
权限列表(select,insert,delete,update)
所有权限通配符 all revoke all on 数据库名.表名 from '用户名'@'主机名'
库和表的通配符 * revoke all on *.* from '用户名'@'主机名'