MySQL-创建数据表create table [if not exists] `表名`(...)
创建数据表:格式如下:create table [if not exists] `表名`('字段名1' 列类型 [属性][索引][注释],'字段名2' 列类型 [属性][索引][注释],#...'字段名n' 列类型 [属性][索引][注释])[表类型][表字符集][注释];说明 : 反引号用于区别MySQL保留字与普通字符而引入的 (键盘esc下面...
创建数据表:
格式如下:
create table [if not exists] `表名`(
'字段名1' 列类型 [属性][索引][注释],
'字段名2' 列类型 [属性][索引][注释],
#...
'字段名n' 列类型 [属性][索引][注释]
)[表类型][表字符集][注释];
说明 : 反引号用于区别MySQL保留字与普通字符而引入的 (键盘esc下面的键).
数据值和列类型
列类型 : 规定数据库中该列存放的数据类型
数值类型
字符串类型
日期和时间型数值类型
NULL值
理解为"没有值"或"未知值"
不要用NULL进行算术运算 , 结果仍为NULL
数据字段属性
UnSigned :
无符号的
声明该数据列不允许负数 .
ZEROFILL :
0填充的
不足位数的用0来填充 , 如int(3),5则为005
Auto_InCrement :
自动增长的 , 每添加一条数据 , 自动在上一个记录数上加 1(默认)
通常用于设置主键 , 且为整数类型
可定义起始值和步长
当前表设置步长(AUTO_INCREMENT=100) : 只影响当前表
SET @@auto_increment_increment=5 ; 影响所有使用自增的表(全局)
NULL 和 NOT NULL :
默认为NULL , 即没有插入该列的数值
如果设置为NOT NULL , 则该列必须有值
DEFAULT :
默认的
用于设置默认值
例如,性别字段,默认为"男" , 否则为 “女” ; 若无指定该列的值 , 则默认值为"男"的值
在数据库下创建一个新的table
-- 目标:创建一个school数据库
-- 创建学生表(列,字段) 使用 SQL 创建
-- 学号int,登陆密码varchar(20),姓名,性别 varchar(2),出生日期(datatime),家庭住址,email
-- 注意点,使用英文(),表的名称,字段尽量用` `括起来。
-- 字符串使用单引号括起来
-- 所有的语句后面加,(英文的),最后一个不用加
-- PRIMARY KEY 主键(一般唯一)
CREATE TABLE IF NOT EXISTS `Student2`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT'姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT'123456' COMMENT'密码' ,
`sex` VARCHAR(2) NOT NULL DEFAULT '男'COMMENT'性别',
`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
`address`VARCHAR (100)DEFAULT NULL COMMENT '家庭住址',
`email`VARCHAR(50)DEFAULT NULL COMMENT '邮箱',
-- 添加主键操作
PRIMARY KEY (`id`)
)ENGINE=INNODB DEFAULT CHARSET = utf8;
# 查看数据库的定义
SHOW CREATE DATABASE school;
# 查看数据表的定义
SHOW CREATE TABLE student;
# 显示表结构
DESC student;
# 设置严格检查模式(不能容错了)
SET sql_mode='STRICT_TRANS_TABLES';
结果:
感受:MySQL的错误很难检车,符号一定要用英文的。
更多推荐
所有评论(0)