[24年单独笔记] MySQL 常用的 DML 命令

张开发
2026/4/13 14:40:13 15 分钟阅读

分享文章

[24年单独笔记] MySQL 常用的 DML 命令
Work with MySQL Frame_TABLE续借 Frame 上文接下来我们创建一份包含以下内容的 base.sql 文件进行教学。# MySQL 应用命令文件# 如果数据库存在则执行此命令DROPDATABASEIFEXISTSmaic;CREATEDATABASEmaicCHARACTERSETutf8mb4;USEmaic;CREATETABLEmaic_user(idINT(11)AUTO_INCREMENTPRIMARYKEY,uidINT(12)NOTNULLUNIQUE,emailVARCHAR(30)NOTNULL,pwdVARCHAR(20)NOTNULL,nickVARCHAR(10));对MySQL进行导入初始化mysql-uroot-p123456./base.sql附加参数讲解PRIMARY KEY(主键)NOT NULL (不允许内容为空)UNIQUE (内容的值只能出现一次)AUTO_INCREMENT (数值自动递增仅限INT)ℹ️ 值得注意的是它顶多只能满足12级范式要求如果你希望满足更高范式请参考下面内容以下二者均可以在 CREATE TABLE 中使用设置联合主键多主键CREATETABLExxx(...PRIMARYKEY(id,uid));设置外键从表CREATETABLExxx(...CONSTRAINT约束名称,不能重复FOREIGNKEY(外键列名,在当前表内)REFERENCES关联表名(关联列名));# 建议使用 fk_ 进行开头ALTERTABLExxxCONSTRAINTfk_l_tFOREIGNKEY(外键列名)REFERENCES关联表名(关联列名);此外还有一种方式进行附加ALTERTABLExxADDFOREIGNKEY(本表列名)REFERENCESyy(yy表列名);这种方式不直接使用外键约束而是通过在数据库层面上创建索引来模拟外键关联的效果。REFERENCES指向的是主表启用外键需要满足以下条件InnoDB引擎需要启用类型长度相同并且关联列必须是唯一索引(UNIQUE)或主键(PRIMARY KEY)无论在何时何地你必须遵守 SQL的编写规范性要求例如属于MySQL的官方命令内容均采用大写。自定义的数据内容等采用小写防止命令混淆创建一个用户访问MySQL服务,避免权限管控问题。如果使用的是 Linux类 系统文件位于: /etc/my.cnf# 创建一个asker用户密码123456CREATEUSERaskerlocalhostIDENTIFIEDBY123456;# 授予asker用户访问 maic数据库下所有表 的权限GRANTALLPRIVILEGESONmaic.*TOaskerlocalhost;# 刷新权限配置FLUSHPRIVILEGES;# 检查权限是否正确SHOWGRANTSFORaskerlocalhost;使用数据库管理数据有严禁更改数据结构的忌讳在添加记录前必须提前分配好字段以ASKER的身份登录MySQL:mysql-uasker-p123456⚠️需要注意的是创建用户的权限无法访问 MySQL 和 SYS 这两个数据库SHOWDATABASES;USEmaic;# 修改表名称ALTERTABLEmaic_userRENAMEASprofile;RENAMETABLEprofileTOinfo;此时表 maic_user 名称则被修改为了 info,我们克隆一份表结构并非表数据供日后还原CREATETABLEprofileLIKEinfo;如果希望完全复制一份表包括数据CREATETABLEprofileASSELECT*FROMinfo;至此你应当学会了表结构的基本维护与运营。我们不推荐你一次性学完请提取出符合你学习体系的相关知识

更多文章