1.常用的属性约束
2.创建表
语法
CREATE TABLE [IF NOT EXISTS] 表名 (
字段1 数据类型 [字段属性|约束][索引][注释],
……
字段n 数据类型 [字段属性|约束][索引][注释]
)[表类型][表字符集][注释];
示例
#创建学生表
CREATE TABLE `student`(
`studentNo` INT(4) PRIMARY KEY,
` name` CHAR(10),
……);
设置主键
CREATE TABLE student(
`studentNo` INT(4) PRIMARY KEY,
……);
注释
CREATE TABLE test (
`id` int(11) UNSIGNED COMMENT ‘编号’
)COMMENT='测试表’ ;
字符集编码
CREATE TABLE [IF NOT EXISTS] 表名(
#省略代码
)CHARSET = 字符集名;
# ZEROFILL 0填充
MySql常用注释方式
单行注释:#.....
多行注释:/*......*/
1.单字段主键:
在定义字段的同时指定主键,语法如下。
CREATE TABLE [IF NOT EXISTS] 表名(
字段1 数据类型 PRIMARY KEY,
...........
);
在定义完所有字段之后指定主键,语法如下。
CREATE TABLE [IF NOT EXISTS] 表名(
字段1 数据类型 ,
...........
[CONSTRAINT<约束名>] PRIMARY[列名]
);
例如:
CREATE TABLE student(
'studentNo' INT(4) PRIMARY KEY,
...........
);
或
CREATE TABLE student(
'studentNo' INT(4) ,
...........
PRIMARY KEY('id')
);
2.多字段联合主键:
主键由多字段组成,语法如下。
CREATE TABLE [IF NOT EXISTS] 表名(
...........
PRIMARY KEY [字段1,字段2.。。。。]
);
例如
CREATE TABLE tb_temp(
'id' INT(4),
'name' VARCHAR(11),
.....
PRIMARY KEY('id','name')
);
3.注释:
在创建表的同时可以为表或字段添加说明性文字,即注释。
注释是用CMMMENT关键字来添加的。
例如:
CREATE TABLE test(
'id' int(11) UNSIGNED COMMENT ‘编号’
)COMMENT='测试表';
4.编码格式设置:
CREATE TABLE [IF NOT EXISTS] 表名(
#省略代码
)CHARSET=字符集名;
MySql数据库默认字符集为utf-8,也可以通过my.ini文件中的default-character-set 参数来修改默认字符集。
下面利用CREATE TABLE语句在myschool中创建学生表student 案例:
#创建myschool数据库
CREATE DATABASES myschool;
#使用myscholl数据库
USE myschool;
#创建学生表
CREATE TABLE student(
studentNo INT(4) NOT NULL PRIMARY KEY COMMENT'学号', #非空,主键
loginPwd VARCHAR(20) NOT NULL COMMENT'密码',
studentName VARCHAR(20) NOT NULL COMMENT'姓名',
sex CHAR(2) NOT NULL DEFAULT'男' COMMENT'性别', #非空,默认值'男'
gradeID INT(4) UNSIGNED COMMENT'年级编号', #无符号数
phone VARCHAR(50) COMMENT'电话',
address VARCHAR(255) DEFAULT'地址不详' COMMENT'地址', #默认值‘地址不详’
bornDate DATETIME COMMENT'出生日期',
email VARCHAR(50) COMMENT'邮件账号',
identityCard VARCHAR(18) UNIQUE KEY COMMENT'身份证号' #唯一
);
#查看表的设计(结构)
DESC student
#查看当前默认存储引擎
SHOW VARIABLES LIKE 'storage_engine%';