找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

多测师课程学习内容:mysql(第3天)

[复制链接]
约束
限制字段的取值
primary key
主键约束
1. 唯一
2. 非空
去重
distinct(字段名)
select distinct(字段名) from 表        查询去重后的字段
查询一共有哪些班级
select class from student
select distinct(class) from student

给一个字段取别名 as
select name as '姓名',class as '班级' from 表
as 可省略

给表临时取别名,不会影响表的原名称
from  student  s
select  s.name, s.class  from  student  s
select  name n, class c  from  student  s  where  s.name = '小红'

备份数据库
可在Linux 中操作,也可在 Navicat 中操作
notepad++
记事本工具
这个记事本比普通的记事本更强大,可以打开各种不同格式的文件

1. Navicat中
选中数据库,进行转储
转储就是备份
xxx.sql        后缀 .sql,说明是一个sql 脚本文件
脚本文件中保存的都是增删改查的sql语句的集合

2. Linux 下备份数据库
sql语句
mysqldump -uroot -p +数据库名称 > 脚本名称
mysqldump        转储
-uroot -p                用户,密码
转储的数据库
>        重定向符
>        覆盖
>>        追加

还原数据库
可在Linux 中操作,也可在 Navicat 中操作
1.Navicat中步骤:
1. 新建一个数据库
2. 右键点击运行sql,选择需要的脚本文件

2.Linux 环境中还原数据库
进入mysql交互页面:
create database wt
Linux 操作界面:
mysql -uroot -p +要还原的数据库  <  wt.sql脚本文件
例子:mysql -uroot -p wt < wt.sql

多表

笛卡尔积
消除笛卡尔积
3*3=9条数据
a=a b=b c=c
表1.id=表2.id           消除

实现多表查询
基本连接
基本格式
select * from a,b where a.id = b.id

内连接
table1 inner join table2 on +条件
用法和基本连接一模一样的
基本格式
select *
from a inner join b
on a.id = b.id
基本连接,内连接
得到的是两个表共有的数据
file:///E:/YoudaoNote/data/906624425@qq.com/77e9fdd976ba4062a96dcc01d814b7b1/_%5Dn_%299@%7Dapovn5gc086e31r.png
_]N_)9@}APOVN5GC086E31R.png


左连接
table1 left join table2 on +条件
特点:
以左表为主,得到左表所有的数据 + 与右表共有的数据
select *
from  a  left  join  b
on a.id = b.id



右连接
table1 right join table2 on +条件
特点:
以右表为主,得到右表所有的数据 + 与左表共有的数据
select *
from  a  right join  b
on a.id = b.id




左表独有的数据
select *
from  a  left join  b
on a.id = b.id
where b.id is null


右左表独有的数据
select *
from  a  left join  b
on a.id = b.id
where a.id is null
图片4.png





联合 union
作用:把表 a 独有的数据和表 b 独有的数据查询出来
select *
from  a  left  join  b
on a.id = b.id
union
select *
from  a  right join  b
on a.id = b.id

图片6.png

注意点
SELECT id,stu_name from students UNION SELECT id,t_name from teacher;
#用来合并两条select语句的结果,两条select语句字段数量要一致,并且数据类型也要一致


file:///E:/YoudaoNote/data/906624425@qq.com/0150d692de4047a88c2f01a51f6d7f88/5218t@itb%7Dkhny%5Dui%7Dc%29%2992.png

5218T@ITB}KHNY]UI}C))92.png
图片1.png
图片2.png
图片3.png
图片5.png
分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册