这些都是看了教程后跟老师做的笔记。
一 创建表和查看结构
1 先进入某一个数据库。BREATE TABLE 表名; 2 输入建表的命令 CREATE TABLE 表名{ 列名 1 类型 [约束], 列名 2 类型 [约束], 列名 3 类型 [约束], 列名 4 类型 [约束], 列名 5 类型 [约束] };比如: CREATE TABLE `t_student` {
`id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(20) DEFAULT NULL, `email` varchar(40) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`) } ENGINE=InnoDB DEFAULT CHARSET=utf8;注意最后一行没有逗号。一般表名以 ‘t_’为前缀。
删除表的新语法:DROP TABLE IF EXISTS 表名;若在建表中使用到了数据库的关键字
比如: 使用order来表示订单,写表名成order order是SQL中的关键字,表示排序之意。 解决办法: 1 避免使用关键字,换一个单词 2 如果是表名,有人习惯使用t_作为前缀 3 使用反引号(`) 括起来,`order`,而且表里面的列也是被反引号来括起来的二 查看表的结构
DESC 表名;
下面以表名为:t_student;
show create table 表名;
下面以表名为:t_student;
表的各种约束
- 非空约束, NOT NULL,不允许某列内容为空。
- 设置列的默认值, DEFAULT
- 唯一约束,UNIAUE,在该表中,值是唯一
- 主键约束, PRIMARY KEY.非空且唯一。每一行唯一的标识
- 主键自增长, AUTO_ INCREMENT,从1开始,
什么叫主键:唯一标识,比如id , 人的身份证;个人刚学MySQL 的感受
主键的设计:- 但字段主键,单列作为主键,建议使用。
复合主键,使用多列充当主键,不建议使用。
- 主键的分类
A 自然主键: 使用有业务含义的列作为主键,不建议。
B 代理主键: 使用没有业务含义的列作为主键,建议使用。