哈希空间
MySQL数据库
MySQL教程
MySQL经验
mysql create table
建表 CREATE TABLE
语法
CREATE TABLE 表名称
(
列名称1 数据类型 其它可选配置,
列名称2 数据类型 其它可选配置,
列名称3 数据类型 其它可选配置,
....
)
例子,创建一个学生信息表 student ,包括姓名 name ,生日 birthday ,身高 height
CREATE TABLE `student` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(16) NOT NULL DEFAULT '',
`birthday` date NOT NULL,
`height` int NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
下面对每个字段进行说明 :
字段 | 类型 | 是否可空 | 说明 |
---|---|---|---|
id | int unsigned | NOT NULL | id 为自增主键 AUTO_INCREMENT 类型,作为每条记录的唯一 id int 为正数类型,unsigned 表示无符号类型 即只表示正数范围;NOT NULL 表示这个字段不能为空 NULL,必须有值 |
name | varchar(16) | NOT NULL | 字符串类型,16个字符,默认为空字符串 ‘’ |
birthday | date | NOT NULL | 日期类型,出生日期 |
height | int | NOT NULL | 正数类型,比如 180 则表示 180cm 身高 |
KEY(id ) |
PRIMARY | 指定主键为 id 字段 | |
ENGINE | 存储引擎使用 InnoDB引擎 | ||
DEFAULT CHARSET | 指定字符集使用 utf8mb4 避免出现编码不兼容问题(默认类型可能兼容emoji 等特殊字符) |
id 自增主键 AUTO_INCREMENT 说明
每个表只可以设置一个自增主键,也可以不设置。一般来说为了确定表中记录的唯一性,都应该默认设置自增主键id
NOT NULL 说明
NOT NULL 为可选类型,不写则表示该字段值可以为空NULL
DEFAULT 默认值说明
DEFAULT 为可选表示给字段设置一个初始默认值。
列出库里的所有表
show tables
从中可以找到新建的 student 表
CREATE TABLE IF NOT EXISTS 用法
如果一个表已经存在执行 CREATE TABLE 语句会失败,这时候可以考虑增加一个 IF NOT EXISTS 语句来判断表是否,不存在时再去创建SQL 。
CREATE TABLE IF NOT EXISTS `student` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(16) NOT NULL DEFAULT '',
`birthday` date NOT NULL,
`height` int NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
这样的好处是:当一次执行多个SQL 语句时不会因为其中一个SQL语句失败而影响后的执行。
本文 最佳观看地址:https://www.hashspace.cn/mysql-create-table.html 阅读 872