标签:MySQL 数据类型 字段 数据表 表名 SQL TABLE ALTER 字段名
更新记录
2022年6月16日 发布。
2022年6月11日 将笔记迁移到博客中。
数据表操作
显示所有表
显示当前所在数据库的表
SHOW TABLES;
显示指定数据库的表
SHOW TABLES FROM <数据库名称>;
显示所有列
SHOW COLUMNS FROM 表名;
创建表
CREATE TABLE [IF NOT EXISTS] 表名
(
字段1 数据类型 [约束] [默认值],
字段2 数据类型 [约束] [默认值],
...
【表级别约束条件】
)[ENGINE=<存储引擎>] [CHARSET=<字符编码>] [COLLATE <排序方式>];
从其他表复制结构(全部字段)
CREATE TABLE 新表名 LIKE 旧表名;
从其他表复制结构和数据(指定字段)
CREATE TABLE 新表名
SELECT 旧表的列... FROM 旧表名;
从其他表复制结构(指定字段)
CREATE TABLE 新表名
SELECT 旧表的列... FROM 旧表名
WHERE 1=0;
从其他表复制结构(指定字段)(指定条件的数据)
CREATE TABLE 新表名
SELECT 旧表的列... FROM 旧表名
WHERE <条件>;
创建表后增加注释
CREATE TABLE user (
-- ...
) COMMENT='用户表';
注意:MySQL 中数据列不区分大小写,但数据库和数据表区分大小写
注意:该操作会使用默认的表字符类型和表默认引擎,而不是旧表的值
查看表结构
DESCRIBE 表名;
或者
DESC 表名;
查看创建表的语句
SHOW CREATE TABLE 表名;
字段约束与修饰
主键
字段 数据类型 PRIMARY KEY;
或者
[CONSTRAINT <约束名>] PRIMARY KEY ([字段名,字段名...])
主键约束 和 唯一约束对比
保证唯一性 | 是否允许为空 | 一个表中可以有多少个 | 是否允许组合 | |
---|---|---|---|---|
主键 | 是 | 否 | 至多有1个 | 可以 |
唯一 | 是 | 是 | 可以有多个 | 可以 |
外键
[CONSTRAINT <外键约束名>] FOREIGN KEY
(字段1,....)
REFERENCES <主表>(字段1,....);
或者
ALTER TABLE <表名> ADD [CONSTRAINT <外键约束名>] FOREIGN KEY
(字段1,....)
REFERENCES <主表>(字段1,....);
非空
字段 数据类型 NOT NULL;
唯一
字段 数据类型 UNIQUE;
或者
[CONSTRAINT <约束名>] UNIQUE(字段名);
或者
ALTER TABLE <表名> ADD [CONSTRAINT <约束名>] UNIQUE(字段名);
默认值
字段 数据类型 DEFAULT 默认值;
自增
字段 数据类型 AUTO_INCREMENT;
字段 数据类型 AUTO_INCREMENT = 666;
注意:必须时键才可以使用自增,比如(主键、唯一)
非负数
字段 数据类型 UNSIGNED;
注意:只能用于整数
填充零
字段 数据类型 ZEROFILL
注意:只能用于整数
修改表
修改表名
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
修改表的存储引擎
ALTER TABLE <表名> ENGINE = <改后的存储引擎>;
修改表的默认字符
ALTER TABLE <表名> CHARSET = '字符类型';
删除表的外键约束
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;
删除表
DROP TABLE [IF EXISTS] 表名,...;
优化表
OPTIMIZE TABLE 表名;
修改表的字段
添加字段
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST | AFTER 已存在字段名];
删除字段
ALTER TABLE <表名> DROP <字段名>;
修改字段的数据类型/约束/位置
ALTER TABLE <表名> MODIFY <字段名> <数据类型> [约束条件] [FIRST | AFTER 已存在字段名];
修改字段的排列顺序
ALTER TABLE <表名> MODIFY <字段名> <数据类型> FIRST | AFTER <字段2>;
修改字段的字段名
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
添加约束
ALTER TABLE 表名 ADD [CONSTRAINT 约束名] 约束类型(字段名)
标签:MySQL,数据类型,字段,数据表,表名,SQL,TABLE,ALTER,字段名 来源: https://www.cnblogs.com/cqpanda/p/16366181.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。