MySQL知识复习,下面是对学习的知识积累,以便日后复习用。
SQL–Structured Query Language
一种特殊目的的编程语言,数据库查询和程序设计语言,用于存取数据以及查询、更新和
管理关系数据库系统,同时也是数据库脚本文件的扩展名。
DDL–Date Definition Language
一种用于描述数据库所需存储的现实世界实体的专门语言,其主要工作是用于定义和
维护数据库以及数据表结构。
DDL语言:
语法:
创建数据库:create datebase 数据库名
删除数据库:drop datebase 数据库名
创建数据表:create table 表名(
driverID int primary key(主键)auto_increment(自动增长)
ps:类似其他编程语言,写下一句时用’,'结束,最后一句不需要
注释:''--''
DDL维护表结构:
-
新增字段
新增字段DDL:alter table 表名 add 新增字段 数据类型*
-
变更字段
更新字段DDL:alter table 表名 change 旧字段 新字段 数据类型 修改字段DDL:alter table 表名 modify 字段 新数据类型
-
更新字段
-
删除字段
删除字段DDL:alter table 表名 drop column 字段
添加外键约束DDL:
alter table 表名 add constraint 约束名 foreign key references 被参照表即主表(主键)
删除外键约束DDL:
alter table 表名 add constraint 外键名 foreign key ( 列 ) references line(列名) 重命名表DDL: rename table 旧表名 to 新表名
DML:
1.检查
2.更新:插入/修改/删除
新增记录:
inset [into] 表名 (字段名列表) values(值列表) //知道全部列表的情况下
inset [into] 表名 (字段号) values(对应的信息)
删除记录:
先备份表:
1.create table 备份表 like 原表
2.insert into 备份表 select * from 原表
再删除:
delete from 表名 [where 条件表达式]
例子:delete from line_new where company='公交二公司'
注意事项:
删除被关联的表记录的解决方法1:
修改从表外键的"删除时"状态为"set null" ,这样当删除被从表引用的主表记录时,
从表中这些引用记录的外键值被系统赋值为null。
删除被关联的表记录的解决方法2:
修改从表外键约束的“删除时”状态为“cascade”,这样当删除被从表引用的主表记录时,
从表中这些引用记录均会被级联删除。
简单来说,set null方法更为保险,当删除主表中的记录时,从表中的记录不受影响,cascade方法在少数情况下使用,删除主表的记录,从表中的记录也会随之被级联删除