mysql6 链接 函数 备份与key

表与表的关系

多对一  一对多 多对多(需要第三个表)  一对一

多对多

例如学生和老师 注意创建第三个表将他们联系在一起
CREATE TABLE Student(
sid INT PRIMARY KEY,
sname VARCHAR(10)
);
CREATE TABLE Teache(
    tid INT PRIMARY KEY,
    tname VARCHAR(10)
);
CREATE TABLE stu_tea_rel(
    tid INT,
    tname INT
);
ALTER TABLE stu_tea_rel ADD CONSTRAINT FOREIGN KEY(tid) REFERENCES Student(sid);
ALTER TABLE stu_tea_rel ADD CONSTRAINT FOREIGN KEY(tname)REFERENCES Teache(tid);

多表查询

多表查询分三种:
1. 合并结果集;UNION、UNION ALL 
    celect * from A  UNION celect * from B 注意:UNION 取并集 加ALL的话 取所有 两个表选择后 的列数与类型需要一致 
2. 链接查询 
    内连接 [INNER]JOIN ON join是链接 On表示条件 on只能同在主外键链接
    外连接 OUTER JOIN ON   当需要查看数值为NULL的数据时使用
        左外连接 LEFT[OUTER]JOIN  以左边的表为基准 此时若左边的表的数据有NULL 则不会显示这一条
        右外连接 RIGHT[OUTER]JOIN   以右边的表为基准 此时若右边的表的数据有NULL 则不会显示这一条
        全外连接 FULL JOIN (MySQL 不支持)
        多张表查询时候 多个join 多个on
    自然链接 NATURAL JOIN
 3. 子查询

多表链接查询

SELECT s.sid,s.sname,t.tname FROM Student s,Teache t WHERE s.sid=t.tid;--两个表一起查询 注意加条件 否则会卡迪尔积

自然链接

自然链接与内连接相似 但是NATURAL 关键字 加入后 自动去掉两个表中类型与值相同的部分 相当于去掉了内链接的 On + 条件部分

子查询(多个SELECT语句)

 第二个select出现在where后面 当做条件 即选择后的部分作为了一个结果

自连接

所谓自连接就是自己与自己链接 需要起别名(类似于JAVA中的对象) 当需要的信息在一张表中的时候使用
注意 当判断一个或者多个变量是否在一个集合中的时候 用关键字 in 例如:a,b IN (a,b,,c,)

Mysql中的函数

1527257881(1).png

1527257881(2).png

1527257881.png

Mysql 数据库的备份与恢复

  1. 备份
    生成SQL脚本 将数据导出 方法:cmd mysqldump -u 用户名 -p 数据库名 > 导出路径
    注意 脚本文件中不包含创建数据库的语句 恢复数据的时候手动创建
  2. 恢复数据
    首先登陆数据库 USE进入一个数据路
    SOURCE + 脚本存在路径
    注意脚本中有数据库的名字 使用 mysql -u 名字 -p 数据库<要执行的脚本的时候 注意库的名字

猜你喜欢

转载自blog.csdn.net/weixin_40642306/article/details/80457941