测试工程师必备MySQL命令
测试工程师必备MySQL命令
数据定义语言(DDL)
数据库操作
- 登录数据库:
1 | mysql -h(主机地址) -P(端口) -u(用户名) -p(密码) |
- 创建数据库:
1 | create database test; |
- 查看数据库:
1 | show databases; |
- 切换数据库:
1 | use test; |
- 查看所有数据表:
1 | show tables; |
- 删除数据库:
1 | drop database test; |
表操作
- 创建表
1 | create table emp( |
- 查看表结构:
1 | desc emp; |
- 删除表:
1 | drop table emp; |
- 修改表字段:
1 | alter table emp modify ename varchar(20); |
- 添加表字段:
1 | alter table emp add column age int(3); |
- 删除表字段:
1 | alter table emp drop column age; |
- 字段改名:
1 | alter table emp change age age1 int(4); |
- 修改表名:
1 | alter table emp rename emp1; |
数据操纵语句(DML)
插入记录
- 指定字段插入:
1 | insert into emp (ename,hiredate,sal,deptno) values ('zhangsan','2022-0-03','2000',1); |
- 不指定字段插入:
1 | insert into emp values ('lisi','2022-03-03','2000',1) |
- 批量插入:
1 | insert into dept values(1,'dept1'),(2,'dept2'); |
修改记录:
1 | update emp set sal='4000',deptno=2 where ename='zhangsan'; |
删除记录:
1 | delete from emp where ename='zhangsan' |
查询记录:
- 查询整张表所有字段:
1 | select * from emp; |
- 查询不重复的字段:
1 | select distinct deptno from emp; |
- 条件查询:
1 | select * from emp where deptno=1 and sal<3000; |
- 排序和限制:
1 | select * from emp order by deptno desc limit 2; |
- 分页查询(查询从第0条记录开始10条):
1 | select * from emp order by deptno desc limit 0,10; |
- 聚合(查询部门人数大于1的部门编号):
1 | select deptno,count(1) from emp group by deptno having count(1) > 1; |
- 连接查询:
1 | select * from emp e left join dept d on e.deptno=d.deptno; |
- 子查询:
1 | select * from emp where deptno in (select deptno from dept); |
- 多表联合查询:
1 | select deptno from emp union select deptno from dept; |
数据控制语句(DCL)
权限相关
- 授予操作权限(将test数据库中所有表的select和insert权限授予test用户):
1 | grant select,insert on test.* to 'test'@'localhost' identified by '123'; |
- 查看账户权限:
1 | show grants for 'test'@'localhost'; |
- 收回操作权限:
1 | revoke insert on test.* from 'test'@'localhost'; |
- 授予所有数据库的所有权限(包括grant)
1 | grant all privileges on *.* to 'test'@'localhost' with grant option; |
- 授予SUPER PROCESS FILE权限(系统权限不能指定数据库):
1 | grant super,process,file on *.* to 'test'@'localhost'; |
- 只授予登录权限:
1 | grant usage on *.* to 'test'@'localhost'; |
账号相关
- 删除账号:
1 | drop user 'test'@'localhost'; |
- 修改自己的密码:
1 | set password = password('123'); |
- 管理员修改他人密码:
1 | set password for 'test'@'localhost' = password('123'); |
字符集相关
- 查看字符集:
1 | show variables like 'character%'; |
- 创建数据库时指定字符集:
1 | create database test2 character set utf8; |
时区相关
- 查看当前时区(UTC为世界统一时间,中国为UTC+8):
1 | show variables like "%time_zone%"; |
- 修改mysql全局时区为北京时间,即我们所在的东8区:
1 | set global time_zone = '+8:00'; |
- 修改当前会话时区:
1 | set time_zone = '+8:00'; |
- 立即生效:
1 | flush privileges; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Double本の博客!
评论