MySQL(二)数据定义语言DDL、数值类型、字符串类型、日期时间类型详细讲解

发布时间:2026/6/25 20:52:35

MySQL(二)数据定义语言DDL、数值类型、字符串类型、日期时间类型详细讲解 3、数据定义语言DDLDDL数据定义语言用来定义数据库,表结构,表中字段的。3.1 DDL-数据库操作查询所有数据库SHOW DATABASES;// show databases;查询当前数据库SELECT DATABASE(); // select database();创建数据库CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];//creat database if not exists wang charset utf8mb4;默认的字符集和排序规则分别是utf8mb4字符集和utf8mb4_unicode_ci排序规则也是推荐使用的字符集和排序规则删除数据库DROP DATABASE [IF EXISTS] 数据库名;// drop database if exists wang;使用数据库切换数据库USE 数据库名; //use wang;3.2 DDL-表操作-查询查询当前数据库所有表SHOW TABLES;//show tables;查询表结构DESC 表名;//desc 表名查询指定表的建表语句SHOW CREATE TABLE 表名;//show create table 表名3.3 DDL-表操作-创建CREATE TABLE 表名( //creat table 字段1 字段1的类型 [COMMENT 字段1的注释], 字段2 字段2的类型 [COMMENT 字段2的注释], ... 字段n 字段n的类型 [COMMENT 字段n的注释]//注意最后一个字段后面没有“,”号)[COMMENT 表注释];注意[...]为可选参数最后一个字段后面没有逗号3.4.1 数值类型整数类型TINYINT (tinyint)1字节小整数范围-128 ~ 127有符号或 0 ~ 255无符号SMALLINT (smallint)2字节大整数范围-32,768 ~ 32,767有符号或 0 ~ 65,535无符号MEDIUMINT (mediumint)3字节大整数范围-8,388,608 ~ 8,388,607有符号或 0 ~ 16,777,215无符号INT或INTEGER (int/Integer)4字节大整数范围-2,147,483,648 ~ 2,147,483,647有符号或 0 ~ 4,294,967,295无符号BIGINT(BigInt)8字节极大整数范围-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807有符号或 0 ~ 18,446,744,073,709,551,615无符号浮点数类型FLOAT (float)4字节单精度浮点数范围-3.402823466 E38 ~ 3.402823466351 E38有符号或 0 和 1.175494351 E-38 ~ 3.402823466 E38近似值DOUBLE (double)8字节双精度浮点数范围-1.7976931348623157 E308 ~ 1.7976931348623157 E308 或 0 和 2.2250738585072014 E-308 ~ 1.7976931348623157 E308近似值DECIMAL (M, D) (decimal)精确值M 是总位数D 是小数位数。例如DECIMAL(5, 2)可以存储 123.45注unsigned修饰无符号即没有负数所以如果描述年龄之类的可以加上。例age TINYINT UNSIGNED注如果描述的是分数score double(4,1)。4代表整体长度1代表小数长度3.4.2 字符串类型CHAR(N) (char)固定长度字符串最多 255 个字符VARCHAR(N) (varchar)可变长度字符串最多 65,535 个字符TINYBLOB (tinyblob)不超过 255 个字符的二进制数据TINYTEXT (tinytext)短文本字符串最多 255 个字符BLOB (blob)二进制形式的长文本数据最多 65,535 个字符TEXT (text)长文本数据最多65,535个字符MEDIUMBLOB (mediumblob)二进制形式的中等长度文本数据最多 16,777,215 个字符MEDIUMTEXT (mediumtext)中等长度文本数据最多 16,777,215 个字符LONGBLOB (longblob)二进制形式的极大文本数据最多 4,294,967,295 个字符LONGTEXT (longtext)极大文本数据最多 4,294,967,295 个字符注char(N)和varchar(N)这两个后面的参数是当前字符串能存储的最长字符串。char(N)如果没存满则剩余空间用空格补位varchar(N)会根据你存储的内容计算占用的空间差异char(N)----------性能好varchar(N)------------性能较差因为它会根据你存储的内容计算占用的空间应用用户名用varchar(50) 性别用char(1)3.4.3 日期时间类型DATE日期值3字节格式为YYYY-MM-DD范围是1000-01-01 至 9999-12-31TIME时间值或持续时间3字节格式为HH:MM:SS范围是-838:59:59 至 838:59:59YEAR年份值1字节格式为YYYY范围是1901 至 2155DATETIME混合日期和时间值8字节格式为YYYY-MM-DD HH:MM:SS范围是1000-01-01 00:00:00 至 9999-12-31 23:59:59TIMESTAMP混合日期和时间值时间戳4字节格式为YYYY-MM-DD HH:MM:SS范围是1970-01-01 00:00:01 至 2038-01-19 03:14:07(timestamp)3.5 DDL-表操作-修改添加字段ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];//alter table修改数据类型ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);//alter table 表名 modify修改字段名和字段类型ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];//alter table 表名 change删除字段ALTER TABLE 表名 DROP 字段名;//alter table 表名 drop 字段名;修改表名ALTER TABLE 表名 RENAME TO 新表名;//alter table 表名 rename3.6 DDL-表操作-删除删除表DROP TABLE [IF EXISTS] 表名; //drop table删除指定表并重新创建该表TRUNCATE TABLE 表名;//truncate table注意在删除表时无论上面哪种方法表中的全部数据也会被删除

相关新闻