mysql在测试中的应用1-docker下搭建及简单查询语句

2020-03-10  本文已影响0人  测试星云

docker下搭建mysql

Docker search ***
1、docker pull mysql:5.7 下载镜像mysql5.7
2、docker run --name mysql01 -v ~/docker/mysql01:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 mysql:5.7
启动数据库名字为mysql01,密码123456,端口3306,image :mysql5.7 -v 宿主机目录:容器内目录
3、docker ps -a #查看所有的服务
4、docker exec -it mysql01 bash #进入mysql01


进入mysql镜像中

service mysql status
mysql -uroot -p
进入mysql
mysql> use mysql;
mysql> update user set authentication_string = password('123456') where user = ‘root’; #修改root密码
mysql> GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; #添加权限
在页面中访问localhost:8088进入phpmyadmin
phpadmin初始密码:root/123456
安装:示例库 本机
cp -R /路径/test_db-master . 如果已经加-v参数,直接在本机映射目录操作就行
数据库:mysql -uroot -p123456 -t < employees.sql



(1)DDL:

1、插入单条数据INSERT INTO tbl_name (col1,col2) VALUES (value1,value2);
insert intoemployees(emp_no,birth_date,first_name,last_name,gender,hire_date) values( 500001,'1993-03-30','An','MEI','F','2018-01-23' )
2、删除数据DELETE FROM tbl_name;
delete from employees where emp_no>500000
3、更新数据UPDATE SET col_name1=expr1 [WHERE where_definition]
update employees set birth_date = '1996-03-09' where emp_no = 500000

(2)DML:

1、查询全部信息(共299380行,仅统计执行当时数据)
select * from employees
2、查询100行员工信息(共 100 行)
select * from employees limit 100
3、查询last_name姓Facello的信息(共 186 行)
select * from employees where last_name = 'Facello'
4、查询不是姓Facello并且员工号小于10020的员工(共 18 行)
select * from employees where emp_no<10020 and last_name <> 'Facello'
5、查询雇佣时间大于2000年1月1日的员工名字,使用别名显示字段名为员工姓名
select first_name as 名,last_name as 姓 from employees where hire_date > '2000-1-1'
6、查询女生并且姓是Pettey的信息(共 85 行)
select * from employees where gender = 'F' and last_name = 'Pettey'
7、查询所有姓Facello的或是叫mary的女生并且出生在1960年以后的 员工信息(共 52 行)
select * from employees where birth_date >'1960-00-00' and gender = 'F' and (last_name = 'Facello' or first_name = 'mary')
8、查询所有姓Facello的男生或是姓Hutton的女生(共 182 行=共 118 行+共 64 行)
select * from employees where ( gender = 'M' and last_name = 'Facello' ) or ( gender = 'F' and last_name = 'Hutton' )
9、员工都是哪些姓,按姓排序正序排,显示员工姓名(共 299380 行)
select distinct last_name from employees(共 1638 行)
select last_name as 姓,first_name as 名 from employees order by last_name asc(共 299380 行)
10、显示2000年后来的员工按时间排序并按姓排序,显示员工名和雇佣时间(共 14 行)
select first_name,hire_date from employees where hire_date > '2000-00-00' order by hire_date,last_name
11、显示(不)姓Facello和姓Hutton的员工,使用in (not in)
select * from employees where last_name in ('Facello','Hutton’)(共 378 行)
select * from employees where last_name not in ('Facello','Hutton’)(共 299647 行)
12、显示是否有没有雇佣时间的员工(共0行)
select * from employees where hire_date is NULL
13、显示工作20年以上的员工

14、显示以b下列开头的名字(共 13333 行)
select first_name as 名 from employees where first_name like 'b%'
15、显示以fy结尾的名字(共 0 行)
select first_name as 名 from employees where first_name like '%fy'
16、显示包含we名字(共 4689 行)
select first_name as 名 from employees where first_name like '%we%'
17、显示包含五个字符的名字
select first_name as 名 from employees where length(first_name) = 5

上一篇 下一篇

猜你喜欢

热点阅读