100 MySQL_5 _DDL数据表操作【重点】

本文深入讲解MySQL中的数据定义语言(DDL),包括数据类型、表的创建、修改与删除操作。涵盖了数值、日期和字符串类型,以及如何使用CREATE、ALTER和DROP语句管理数据库表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DDL数据表操作

1.数据类型

MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。对于我们约束数据的类型有很大的帮助

1.1数值类型

类型大小范围(有符号)范围{无符号)用途
INT4字节(-2 147 483 648, 2 147 483 647)(0,4 294 967 295)大整数值
DOUBLE8字节(-1.797E+308,-2.22E-308)(0,2.22E-308,1-797 E+308)双精度浮点数 值
**DOUBLE(M,D) **8个字节,M表示长度,D表示小数 位数同上,受M 和D的约束 DOUBLE(5,2)-999.99- 999.99同上,受M和D的约束双精度浮点数 值
**DECIMAL(M,D) **DECIMAL(M,D)依赖于M和D的值,M最大值为65依赖于M和D的值,M最大值为 65小数值

1.2日期类型

类型大小范围格式用途
DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3'-838:59:59 '/ ‘838:59:59’HH:MM:SS时间值或持续时间
YEAR11901/2155YYYY年份值
DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM- DD HH:MM:SS混合日期和时 间值
TIMESTAMP41970-01-01 00:00:00/2038 结束时间是第 2147483647 秒 北京时间 2038-1-1911:14:07,格林尼治时间2038年1月19日凌晨03:14:07YYYYMMDD HHMMSS混合日期和时 间值,时间戳

1.3字符串类型

类型大小用途
**CHAR **0-255字符定长字符串char(10) 10个字符
**VARCHAR **0-65535 字节变长字符串varchar(lO) 10个字符
BLOB (binary large object)0-65535字节二进制形式的长文本数据
TEXT0-65535字节长文本数据
  • CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

  • BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。

2.数据表的创建(CREATE)

CREATE TABLE 表名(

​ 列名 数据类型[约束],

​ 列名 数据类型[约束],

​ …

​ 列名 数据类型[约束]//最后一列的末尾不加逗号

)[charset=utf8] //可根据需要指定表的字符编码集

2.1创建表

列名数据类型说明
subjectldINT课程编号
subjectNameVARCHAR (20)课程名称
subjectHoursINT课程时长
#依据上述表格创建数据表,并向表中插入3条测试语句
CREATE TABLE subject( 
    subjectld INT, 
 	subjectName VARCHAR(20),
 	subjectHours  INT 
)charset=utf8;     

INSERT INTO subject(subjectld,subjectName,subjectHours) 
VALUES(1,'Java',40);

INSERT INTO subject(subjectld,subjectName,subjectHours) 
VALUES(2,'MYSQL',20); 
       
INSERT INTO subject(subjectld,subjectName,subjectHours) 
VALUES(3,'JavaScript',30);

3.数据表的修改(ALTER)

ALTER TABLE 表名 操作;

3.1向现有表中添加列

#在课程表基础上添加gradeld列
ALTER TABLE subject ADD gradeld int;

3.2修改表中的列

#修改课程表中课程名称长度为10个字符
ALTER TABLE subject MODIFY subjectName VARCHAR(10);
  • 注意:修改表中的某列时,也要写全列的名字,数据类型,约束(可选)
  • modify 只是修改列的数据类型或者约束

3.3删除表中的列

#删除课程表中gradeld列
ALTER TABLE subject DROP gradeld;
  • 注意:删除列时,每次只能删除一列

3.4修改列名

#修改课程表中subjectHours列为classHours
ALTER TABLE subject CHANGE subjectHours classHours int ;
  • 注意:修改列名时,在给定列新名称时,要指定列的类型和约束
  • change 修改的是列名

3.5修改表名

#修改课程表的subject为sub 
ALTER TABLE subject rename sub;

4.数据表的删除(DROP)

DROP TABLE 表名

4.1删除学生表

#删除学生表
DROP TABLE sub;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悬浮海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值