列属性是指定义或创建一个列的时候,可以给列额外增加的“附加特性”。
形式如下:
```
create table 表名 (列名 列类型 [列属性...] );
```
说明:
1,一个列可以有多个列属性;
2,多个列属性空格隔开就行;
列属性包括以下这些:
* null,not null
设定为空,或非空,表明该列数据是否可为空值(null)。
* default
用于设定列默认值(不给值或给空值null并not null,就会自动使用该值)。
使用形式:default 默认值 。
* primary key
用于设定主键。
主键就是一个表中数据的“关键值”,通过该关键值就可以找到该特定的数据行。
一个表的主键值不能重复(相等),比如文章表中的文章编号id,比如用户表中的用户名。
主键字段必须有值(不能为空)。
一个表只能有一个主键(但一个主键可以是1个字段或2个以上的字段联合构成)
* auto_increment
用于设定一个整数字段的值是“自增长的”,通常用于一个表中的数据行的编号(比如文章编号)。
默认情况下自增长值从1开始。
一个表只能设定一个字段为自增长特性。
* unique key
用于设定“唯一键”的特性。
唯一键表示一个表中的某字段的值是“唯一的”,“不重复的”。
唯一键有点类似primay key,但其值可以为空(null)。
一个表可以有多个唯一键。
* comment
用于设定字段的说明性内容,类似注释,但又不是注释(属于有效的代码)。
使用形式: comment ‘文字内容’
演示1:
![](https://img.kancloud.cn/a9/de/a9de9e05bdac4fbdd26cae9b665fe2ca_747x323.jpg)
演示:
创建一个表,并用上以上所有字段属性。字段可包括:id, kecheng, keshi, intro.
![](https://img.kancloud.cn/55/0b/550bda68f17a56f24054b1a0253a7143_704x178.jpg)
联合主键演示:
![](https://img.kancloud.cn/88/6e/886e1dd49a462a1b70fbbecb644d08e1_504x426.jpg)
## 昨日回顾:
```
create table 表名(
字段名1 类型 [字段附加属性],
字段名2 类型 [字段附加属性],
....
primary key(xx1, xx2, ......),
unique key(xx1, xx2, .... )
)
charset= utf8/gbk -- 表中存储数据的字符编码
engine=InnoDB/MyIsam/BDB/Memory -- 表类型/存储引擎
```
### 类型:
#### 数字类型:
* 整数:int, tinyint, smallint, mediumint, bigint
* 小数:float , double, decimal(M, D);
#### 时间类型:
time, date, datetime, year, timestamp,
#### 字符类型:
* char: 定长字符,最大可设定255(字符个数)
* varchar: 变长字符,最大可设定为65532个字符
* text:长文本,不能设定长度,其中最长能存储65535个字符
* enum:单选型字符,枚举字符,
* enum(‘选项1’,’选项2’,’选项3’,....),他们每个选项对象的索引值为:1,2,3,4,5,6 ,.....
* set:多选型字符,
* set(‘选项1’,’选项2’,’选项3’,....),他们每个选项对象的索引值为:1,2,4,8,16 ,.....
### 属性:
* not null 设定为非空数据
* default 默认值
* primary key 主键,一个表只能设置一个
* unique key 唯一键
* auto_increment 自增 用于整数,并且一个表只能设置一个
* comment ‘说明文字’
- 1、数据库介绍
- 1.1.主流数据库
- 1.2.MySQL数据库概览
- 1.3.关系数据库
- 2、访问mysql数据库服务器
- 2.1.开启/关闭数据库服务
- 2.2.客户端连接数据库服务器
- 3、数据库操作
- 3.1.查看所有数据库
- 3.2.创建新数据库
- 3.3.查看数据库创建信息
- 3.4.删除现有数据库
- 3.5.修改现有数据库
- 3.6.选择(使用)某个数据库
- 4、数据表操作
- 4.1.创建数据表初步
- 4.2.查看所有数据表
- 4.3.查看数据表结构
- 4.4.查看数据表的创建语句
- 4.5.删除数据表
- 4.6.修改数据表
- 5、数据操作初步
- 5.1.插入数据
- 5.2.查询数据
- 5.3.删除数据
- 5.4.修改数据
- 6、MySQL数据类型
- 6.1.数据类型(列类型)总览
- 6.2.整型
- 6.3.小数型
- 6.4.日期时间型
- 6.5.字符串型
- 7、列属性
- 8、实体与实体的关系
- 8.1.基本概念
- 8.2.一对一关系
- 8.3.一对多关系
- 8.4.多对多关系
- 9、高级查询
- 9.1.高级查询语法概述
- 9.2.查询结果数据及select选项
- 9.3.where子句
- 9.4.mysql运算符
- 9.5.group by子句
- 9.6.having子句
- 9.7.order by子句
- 9.8.limit 子句
- 10、高级插入
- 10.1.同时插入多行记录
- 10.2.插入查询的结果数据
- 10.3.set语法插入数据
- 10.4.蠕虫复制
- 10.5.插入时主键冲突的解决办法
- 11、高级删除
- 11.1.按指定顺序删除指定数量的数据
- 11.2.truncate清空
- 12、高级更新
- 13、联合(union)查询
- 13.1.联合查询概念
- 13.2.联合查询语法
- 14、连接(join)查询
- 14.1.连接查询概述
- 14.2.交叉连接(cross join)
- 14.3.内连接(inner join)
- 14.4.外连接
- 14.5.自连接
- 15、子查询(subquery)
- 15.1.子查询的概念
- 15.2.标量子查询
- 15.3.列子查询
- 15.4.行子查询
- 15.5.表子查询
- 15.6.有关子查询的特定关键字
- 15.7.exists子查询
- 16、数据管理
- 16.1.数据备份
- 16.2.数据还原(数据恢复)
- 17、用户管理:
- 17.1.查看用户
- 17.2.创建用户
- 17.3.删除用户
- 17.4.修改/设置用户密码
- 17.5.授予用户权限
- 17.6.取消用户授权