
这将返回一个表格,其中包含数据库中所有的表的名称。
SHOW TABLES;将 table_name 替换为您想要查看结构的表的名称。这将返回一个结果集,包含了表的列名、数据类型、键信息等。
DESCRIBE table_name;
-- 或者
DESC table_name;SHOW CREATE TABLE table_name;这将返回一个结果集,其中包含了用于创建指定表的 SQL 语句,包括列定义、索引、主键等信息。
请确保将上述语句中的 table_name 替换为您要查询的实际表的名称。
CREATE TABLE 表名(
字段1 字段1类型 [ COMMENT 字段1注释 ],
字段2 字段2类型 [COMMENT 字段2注释 ],
字段3 字段3类型 [COMMENT 字段3注释 ],
......
字段n 字段n类型 [COMMENT 字段n注释 ]
) [ COMMENT 表注释 ] ;
create table tb_user(
id int comment '编号',
name varchar(50) comment '姓名',
age int comment '年龄',
gender varchar(1) comment '性别'
) comment '用户表';MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。
INT: 用于存储整数值,如年龄、数量等。
DECIMAL: 用于存储精确的十进制数,如货币金额。
FLOAT: 用于存储单精度浮点数,适用于近似值。
DOUBLE: 用于存储双精度浮点数,提供更高的精度。
CREATE TABLE 示例 (
编号 INT,
价格 DECIMAL(10, 2),
温度 FLOAT,
重量 DOUBLE
);CHAR: 用于存储固定长度的字符,适合存储长度固定的数据,如国家代码。
VARCHAR: 用于存储可变长度的字符,适用于较短的字符串,如姓名。
TEXT: 用于存储大段文本,如文章内容。
CREATE TABLE 示例 (
国家代码 CHAR(2),
姓名 VARCHAR(100),
描述 TEXT
);3、日期时间类型:
DATE: 用于存储日期,格式为'YYYY-MM-DD'。
TIME: 用于存储时间,格式为'HH:MM:SS'。
TIMESTAMP: 用于存储日期和时间的组合,通常用于记录数据的创建或修改时间。
CREATE TABLE 示例 (
出生日期 DATE,
预约时间 TIME,
创建时间 TIMESTAMP
);1. 编号(纯数字)
2. 员工工号 (字符串类型,长度不超过10位)
3. 员工姓名(字符串类型,长度不超过10位)
4. 性别(男/女,存储一个汉字)
5. 年龄(正常人年龄,不可能存储负数)
6. 身份证号(二代身份证号均为18位,身份证中有X这样的字符)
7. 入职时间(取值年月日即可)
create table emp(
id int comment '编号',
workno varchar(10) comment '工号',
name varchar(10) comment '姓名',
gender char(1) comment '性别',
age tinyint unsigned comment '年龄',
idcard char(18) comment '身份证号',
entrydate date comment '入职时间'
) comment '员工表';在表的创建语句中,使用主键(Primary Key)来标识唯一的员工编号(ID),这样可以确保编号的唯一性。
CREATE TABLE emp (
id INT PRIMARY KEY COMMENT '编号',
workno VARCHAR(10) COMMENT '工号',
name VARCHAR(10) COMMENT '姓名',
gender CHAR(1) COMMENT '性别',
age TINYINT UNSIGNED COMMENT '年龄',
idcard CHAR(18) COMMENT '身份证号',
entrydate DATE COMMENT '入职时间'
) COMMENT '员工表';使用约束来确保数据的完整性,比如使用 NOT NULL 约束来防止某些字段为空,使用 UNIQUE 约束来确保身份证号的唯一性。
CREATE TABLE emp (
id INT PRIMARY KEY COMMENT '编号',
workno VARCHAR(10) NOT NULL COMMENT '工号',
name VARCHAR(10) NOT NULL COMMENT '姓名',
gender CHAR(1) COMMENT '性别',
age TINYINT UNSIGNED COMMENT '年龄',
idcard CHAR(18) UNIQUE NOT NULL COMMENT '身份证号',
entrydate DATE COMMENT '入职时间'
) COMMENT '员工表';在表操作中,可以为添加字段、修改字段和删除字段的操作添加一个注释,以便其他开发人员能够理解操作的目的。
如果需要修改表名,建议为新表名选择一个有意义的名称,以提高代码的可读性。表名的命名应具有描述性,能够清晰地表示表的用途。
在修改字段名和字段类型时,建议使用更具描述性的字段名,以提高代码的可维护性。在修改字段名和类型时,还应确保已有数据与新字段名和类型兼容。
-- 为emp表增加一个新的字段"昵称"为nickname,类型为VARCHAR(20)
ALTER TABLE emp ADD nickname VARCHAR(20) COMMENT '昵称';
-- 将emp表的nickname字段修改为username,类型为VARCHAR(30)
ALTER TABLE emp CHANGE nickname username VARCHAR(30) COMMENT '用户名';
-- 删除emp表的字段username
ALTER TABLE emp DROP username;
-- 修改表名emp改employee
ALTER TABLE emp RENAME TO employee;DROP TABLE [ IF EXISTS ] 表名;可选项 IF EXISTS 代表,只有表名存在时才会删除该表,表名不存在,则不执行删除操作(如果不
加该参数项,删除一张不存在的表,执行将会报错)。
案例
如果tb_user表存在,则删除tb_user表
DROP TABLE IF EXISTS tb_user;