SQL 实战(一)

标题

SQL 实战(一)

课程价值

  • 了解数据库基础知识
  • 掌握 SQL 基础语法

大纲

  • 数据库基础
  • SQL 基础

时长

90分钟

PPT

https://pdf.ceshiren.com/lg2/SQL实战1

SQL 练习环境

实战内容

mysql 搭建

docker run --name mysql -v $PWD/mysql:/var/lib/mysql -p 9999:3306 -e MYSQL_ROOT_PASSWORD=hogwarts -d mysql:5.7

mysql 连接工具

workbench 建立链接

命令行连接方式

mysql -h sql.tech.ceshiren.com -uhogwarts_stu -p

// 输入密码,回车
show databases;
use 数据库名;
show tables;
// 执行 SQL 语句
exit

测试数据库

数据导入命令

// 去要先进入employees.sql所在的目录,然后再执行命令
mysql -h 127.0.0.1 -uroot -p < employees.sql

image

SQL 基础

DDL

– 创建 hogwarts_d1 数据库
create database hogwarts_d1 default charset utf8 collate utf8_bin;
– 在 hogwarts_d1 数据库中创建 stu 表
use hogwarts_d1;
create table stu (
id int(10) not null primary key,
name varchar(10) default null
) engine=InnoDB default charset=utf8 collate=utf8_bin;
– 复制 stu 表
create table stu_sch like stu;
– 添加一个字段 cource
alter table stu add cource int;
– 修改字段 cource 的类型为 varchar
alter table stu modify column cource varchar(3);
– 修改 stu 表名为 stu_n1
alter table stu rename stu_n1;
– 删除 stu_n1 中的数据
truncate table stu_n1;
– 删除 stu_n1 表
drop table stu_n1;
– 删除 hogwarts_d1 数据库
drop database hogwarts_d1;

DML

增加:
INSERT INTO 表名(字段1, 字段2…) VALUES(‘值1’, ‘值2’, …);
删除:
DELETE FROM 表名 WHERE 条件;
更新:
UPDATE 表名 SET 字段1=‘值1’, 字段2=‘值2’ WHERE 条件;
查询:
SELECT * FROM 表名;

基本增删改查

– 增加部门:在部门表 departments 中增加一条部门信息
insert into departments(dept_no,dept_name) values(‘d111’,‘hogwarts’);
– 更新部门信息:修改刚才新增的部门名字为 python_lg_2
update departments set dept_name=‘python_lg_2’ where dept_no=‘d111’;
– 删除新增的部门
delete from departments where dept_no=‘d111’;
– 查询部门表中的信息
select * from departments;

基本查询语法

基本查询:SELECT * FROM 表名;
字段查询:SELECT 字段名 FROM 表名;
条件查询:SELECT * FROM 表名 WHERE 条件;
排序:SELECT * FROM 表名 ORDER BY 字段名 DESC;
分页:SELECT * FROM 表名 LIMIT 10 OFFSET 0;
去重:SELECT DISTINCT 字段名 FROM 表名;

基本查询练习

– 查询部门表中的信息
select * from departments;
– 查询都有哪些部门
select dept_name from departments;
– 查询部门编号为d003的部门信息
select * from departments where dept_no=‘d003’;
– 查询员工的编号和入职日期,按照员工入职日期从晚到早排序
select emp_no, hire_date from employees order by hire_date desc;
– 分页查看员工信息,每页展示10条
select * from employees limit 10 offset 0;
select * from employees limit 20,10;
– 查看公司中员工的姓氏
select distinct last_name from employees;

课后任务

  • 把测试数据库导入本地 mysql

课后调查表

陈智斌【SQL】实战(一)作业提交
image

image

image

image

image

张涛
屏幕快照 2020-09-10 15.10.43

陈辰洲 SQL实战(一) 作业提交
2020-09-12_182154

郑向红作业:


image


张立雨_7646作业
只导入了一个数据表的数据
image
image

贾潇冰——SQL实战(一)作业:


2

搭建远程服务器docker,本地访问:


image

刘羽 --SQL实战一 作业:
image

王小刚作业: