本帖最后由 小石姐姐 于 2018-5-11 10:07 编辑
MySQL 学习笔记 MySQL概述数据库就是一个文件系统,通过标准的SQL语句获取数据 MySQL是一种关系型数据库,关系型数据库存放的是实体之间的关系 常见的关系型数据库:
MySQL Oracle SQLServer DB2 SyBase
SQLSQL分类DDL:数据定义语言
DCL:数据控制语言
DML:数据操纵语言
DQL:数据查询语言
对数据库操作创建数据库
查看数据库
修改数据库
删除数据库
其他操作
对表进行操作Java中的类型 | SQL中的类型 | byte/short/int/long | tinyint/smallint/int/bigint | float | float | double | double | boolean | boolean | char/String | char/varchar | Date | date/time/datetime/timestamp | File | BLOB/TEXT |
单表约束
创建表
查看表
查看数据库下的所有表:show tables; 查看某个表的结构信息:desc 表名;
删除表
修改表
添加列:alter table 表名 add 列名 类型(长度) 约束; 修改列类型,长度和约束:alter table 表名 modify 列名 类型(长度) 约束; 删除列:alter table 表名 drop 列名; 修改列名称:alter table 表名 change 旧列名 新列名 类型(长度) 约束; 修改表名:rename table 表名 to 新的表名; 修改表的字符集:alter table 表名 character set 字符集;
对记录进行操作添加表的记录
向表中插入某些列:insert into 表名(列名1,列名2,列名3...) values(值1,值2,值3...) 向表中插入所有列:insert into 表名 values(值1,值2,值3...) 注意:
值的类型与数据库中表列的类型一致 值的顺序与数据库中表列的顺序一致 值的最大长度不能超过列设置最大长度 值的类型是字符串或者是日期类型,使用单引号引起来
修改表的记录
删除表的记录
查看表的记录
总结:
多表外键约束用来保证多表间的数据完整性 添加外键约束:alter table 原表 add foreign key (表1字段) references 被引用表(表2字段); 创建外键约束后,原表在添加记录时,外键的位置可以设置为null,但不能设置为被引用表该字段中不存在的值 被引用表可以添加任意的记录,但不能删除被引用的记录
多表之间的关系一对多
多对多
一对一
唯一外键对应:假设是一对多,在多的一方创建外键指向一的一方的主键,将外键设置为unique (不推荐使用)主键对应:将两个表的主键建立对应关系即可
多表查询连接查询
交叉连接 cross join(任意两表之间均可查询)
内连接 inner join(inner可省略)(存在外键约束的两表之间可以查询)
根据关联条件去匹配两个表中的记录,如果匹配成功则返回记录,否则不返回 显式内连接:select * from表1 inner join 表2 on 关联条件; 隐式内连接(较常用):select * from 表1,表2 where 关联条件;
外连接 outer join(outer 可省略)(存在外键约束的两表之间可以查询)
内连接与外连接的区别
内连接查询出的是两个表的交集 外连接查询的是左表或右表的全部加上交集
子查询
带in的子查询 带exists的子查询 带any的子查询 带all的子查询
事务概述事务的特性(ACID特性)事务的隔离
|
|