Mysql的数据定义语言

结构化查询语句分类

对于不同的命令, 可分为四类分别为DDL、DML、DQL、DCL,下图分别作了详细的介绍
在这里插入图片描述

数据定义语言DDL

DDL的命令有个3个:创建create、删除drop、修改alter

create语句

创建数据库:

 CREATE TABLE [ IF NOT EXISTS ] `表名`(
	`字段名1`    列类型 [ 属性 ]  [ 索引 ] [注释] ,
	`字段名2`   列类型 [ 属性 ]  [ 索引 ] [注释] , 
	 … …    
	 `字段名n`   列类型 [ 属性 ]  [ 索引 ] [注释] 
)  [ 表类型] [表字符集] [注释] ;

其中反引号用于区别mysql关键字,用[ ]圈起的部分代表可选,接下来一一为大家介绍个字段含义,

列类型

用于规定数据库中该列存放的数据类型,可大致分为四种:
①数值类型
②字符串类型
③日期和时间型数值类型
④NULL值

数值类型

在这里插入图片描述

字符串类型

在这里插入图片描述

日期和时间型数值类型

在这里插入图片描述

NULL值

null值可以理解为“没有值”或“未知值”,用NULL进行算术运算,结果仍为NULL

数据字段属性

①UNSIGNED
无符号的,声明该数据列不允许负数
②ZEROFILL
0填充,不足位数的用0来填充,如 :int(3),5则为 005
③AUTO_INCREMENT
自动增长的,每添加一条数据,自动在上一个记录数上加1
通常用于设置主键,且为整数类型
可定义起始值和步长
④NULL 和 NOT NULL
默认为NULL,即没有插入该列的数值
如果设置为NOT NULL,则该列必须有值
⑤DEFAULT
用于设置默认值

数据字段注释

COMMENT
语法:comment ’ 注释’
示例
用sql语句创建下图内容
在这里插入图片描述

CREATE TABLE `student` (
  `StudentNo` int(11) NOT NULL COMMENT '学号',
  `LoginPwd` varchar(20),
  `StudentName` varchar(20) DEFAULT NULL COMMENT '学生姓名',
  `Sex` varchar(2) DEFAULT NULL,
  `GradeID` int(11) DEFAULT NULL COMMENT '年纪编号',
  `Phone` varchar(50) NOT NULL COMMENT '联系电话,允许为空,即可选输入',
  `Address` varchar(50) NOT NULL COMMENT '地址,允许为空,即可选输入',
  `Email` varchar(50) NOT NULL COMMENT '邮箱账号,允许为空,即可选输入',
  `BornDate` datetime comment '出生时间',
  `IdentityCard` varchar(18) DEFAULT NULL COMMENT '身份证号',
);
表类型和表字符集

表类型:ENGINE关键字
表字符集:CHARSET关键字
MySQL的数据表的类型:MyISAM、InnoDB 、HEAP、BOB、CSV等
常用的有:MyISAM、InnoDB
在这里插入图片描述
示例
使用语句新建subject表,设置数据表为MyISAM类型,字符集为utf8
在这里插入图片描述

CREATE TABLE `subject` (
  `SubjectNo` INT(11) NOT NULL COMMENT '课程编号',
  `SubjectName` VARCHAR(50) DEFAULT NULL COMMENT '课程名称',
  `ClassHour` INT(4) DEFAULT NULL COMMENT '学时',
  `GradeID` INT(4) DEFAULT NULL COMMENT '年级编号',
) ENGINE=INNODB CHARSET=utf8

alter语句

①修改表名

ALTER TABLE 就表名 RENAME AS 新表名

②添加字段

ALTER TABLE 表名 ADD 字段名 列类型[属性]

③修改字段

// 此种修改方式无法修改列名
ALTER TABLE 表名 MODIFY 字段名 列类型[属性]
// 若要修改列名用change的方式
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列类型[属性]

④删除字段

ALTER TABLE 表名 DROP 字段名

drop语句

语法:

DROP TABLE [IF EXISTS] 表名

IF EXISTS 为可选,判断是否存在该数据表
如删除不存在的数据表会抛出错误

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值