一、CREATE TABLE 选项
1、在定义列的时候,指定列选项
1)DEFAULT :定义列的默认值
当插入一个新行到表中并且没有给该列明确赋值时,如果定义了列的默认值,将自动得到默认值 ;如果没有,则为null。
mysql> create table people
-> ( -> id int not null primary key, -> name varchar(20) not null, -> sex char(1) default 'm'
-> );
mysql> insert into people(id,name) values(1,'张三');
mysql> insert into people values(2,'李四','f');
mysql> select * from people;+----+--------+------+
| id | name | sex |
+----+--------+------+
| 1 | 张三 | m |
| 2 | 李四 | f |
+----+--------+------+
当然,也可以在INSERT和UPDATE语句中使用DEFAULT关键字显式地给列赋默认值:
mysql> insert into people values(3,'王五',default);
mysql> update people set sex=default where id=2;
mysql> select * from people;+----+--------+------+
| id | name | sex |
+----+--------+------+
| 1 | 张三 | m |
| 2 | 李四 | m |
| 3 | 王五 | m |
+----+--------+------+
函数default(column)可以得到一个列的默认值:
mysql> select default(sex) from people;+--------------+
| default(sex) |
+--------------+
| m |
| m |
| m |
+--------------+
2)comment:用来给列添加注释,最多255个字符,注释会保存到数据字典中。
创建带有列注释的表stu_comment
mysql> create table stu_comment -> ( -> id int not null primary key -> comment '学号', -> name varchar(20) not null
-> comment '姓名'
-> );
从数据字典查询注释信息
mysql> select column_name,column_comment -> from information_schema.columns -> where table_name='stu_comment';+-------------+----------------+
| column_name | column_comment |
+-------------+----------------+
| id | 学号 |
| name | 姓名 |
+-------------+----------------+
2、在CREATE TABLE语句中的表选项
1)engine:指定表使用的存储引擎
存储引擎:决定了数据如何存储以及如何访问,还有事务如何处理
MySQL允许对每个表使用不同的存储引擎,如果在create table语句中没有指定存储引擎,则使用默认的存储引擎。
mysql> show engines; #查询所有支持的存储引擎
<