发表于: 2018-03-10 23:59:47
4 671
最近几天事情多时间有点紧,明天继续开始学习,师兄见谅....
今天完成的事情:
学习完成对数据表的操作
结构图
- 创建数据表:
示例:
- 查看数据表:
示例:
查看数据表列结构:(describe tb_name)
省略字段需要注意:
查询表中的数据:
- 修改数据表
- 添加单列:ALTER TABLIE tb_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]
2.删除列:
ALTER TABLE tb_name DROP col_name
3.删除主键约束:
ALTER TABLE tb_name DROP PRIMARY KEY; (无需指定字段名,每张表只有唯一主键)
4.删除唯一约束:
ALTER TABLE tb_name DROP {INDEX|KEY} index_name;
5.删除外键约束:
ALTER TABLE tb_name drop FOREIGN KEY name;
6.修改列定义:
ALTER TABLE tb_name MODIFY col_name colomn_difinition [FIRST | AFTER col_name]
7.数据表的更名:
方法一: ALTER TABLE tb_name RENAME new_tb_name;
方法二: RENAME TABLE tb_name TO new_tb_name;
(尽量不要修改列名称和数据表的名称,如果两者曾经被引用,可能导致创建过索引、视图无法使用)
- 约束:
1.保证数据的完整性和一致性
2.约束分为表级约束和列级约束
3.约束类型包括:NOT NULL(非空约束)、PRIMARY KEY(主键约束)、UNIQUE KEY(唯一约束)、DEFAULT(默认约束)、FOREIGN KEY(外键约束)
空值与非空: NULL 与 NOT NULL;
自动编号(AUTO_INCREMENT):1.自动编号,且必须与主键结合使用
2.默认情况下起始值为1,增量为1
主键约束(PRIMARY KEY): 1.主键约束
2.每张数据表只能存在一个主键
3.主键保证记录的唯一性
4.主键自动为NOT NULL
唯一约束(UNIQUE KEY): 1.唯一约束
2.唯一约束可以保证记录的唯一性(就是该字段的值在数据表中只能出现一次)
3.唯一约束的字段可以为空值
4.每张数据表可以存在多个唯一约束
默认约束(DEFAULT):1.默认值
2.当插入记录时,如果字段没有明确的为字段赋值,则自赋为默认值
外键约束(FOREIGN KEY):1.保持数据的完整性和一致性
2.实现一对一或一对多的关系(注:无多对一)
外键约束的要求:1.父表(子表所参照的表)和子表(具有外键列的表)必须使用相同的存储 引擎,而且禁止使用临时表
2.数据表的存储引擎只能为InnoDB
3.外键列和参照列必须具有相似的数据类型,其中的数字长度或是是否有符号位必须相同;而字符的长度可以不相同。
4.外键列和参照列必须创建索引,如果外键不存在索引的话,mysql将自动创建索引。
外键约束的参照操作:
1.CASCADE:从父表中删除或更新且自动删除或更新子表中匹配的行
2.SET NULL:从父表中删除或更新行,并设置子表中的列为NULL,如果使用该选项,必须保证子表中没有指定NOT NULL
3.RESTRICT:拒绝对父表的删除或更新操作
4.NO ACTION:标准SQL关键字,与RESTRICT相同
注意:
表级约束和列级约束: 1.对一个数据列建立的约束,称为列级约束
2.对多个数据列建立的约束,称为表级约束
3.列级约束既可以在列定义声明,也可以在列定义后声明。表级约束
只能在列定义后声明
明天的计划:学习剩下数据库的函数知识,以及进行任务的操作
评论