SQL 之 DDL(MySQL)
创建数据库
Create {database|schema} [if not exists] 数据库名称;
CREATE DATABASE if not exists SALARY;
删除数据库
drop database [if exists] 数据库名称;
DROP DATABASE if exists SALARY;
创建表
create table if not exists 表名
(
列名 数据类型,
);
CREATE TABLE DEPT-- 创建部门表 ( DEPTNO CHAR(2) PRIMARY KEY,-- 部门编号,且为主键 DNAME VARCHAR(14),-- 部门名称 LOC VARCHAR(15)-- 地点 );
CREATE TABLE IF NOT EXISTS SCOTT ( empno CHAR(4) PRIMARY KEY, -- 员工编号,且为主键 ename VARCHAR(10),-- 员工姓名 job VARCHAR(20),-- 职位 mgr CHAR(4),-- 经理编号 hiredate date,-- 入职日期 sal DECIMAL(7,2),-- 薪金 comm DECIMAL(7,2),-- 佣金 deptno char(2),-- 部门编号 CONSTRAINT SCOTT_DEPTNO-- SCOTT_DEPTNO为外键约束名称 FOREIGN KEY (deptno) REFERENCES DEPT(DEPTNO) -- 引用表DEPT的主键DEPTNO,设置列deptno为外键 );
删除表
Drop table 表名;
DROP TABLE SCOTT;
修改表
增加列
Alter table 表名 ADD 列名 数据类型;
ALTER TABLE SCOTT ADD AGE INT;
删除列
Alter table 表名 drop [column] 列名;
ALTER TABLE SCOTT DROP COLUMN AGE;
修改列的类型、参数
Alter table 表名 modify 列名 新类型 新参数;
ALTER TABLE SCOTT MODIFY SAL DECIMAL(8,2);
修改列的名称
Alter table 表名 change 旧列名 新列名 新类型 新属性;
ALTER TABLE SCOTT CHANGE SAL SALA DECIMAL(7,2);
增加表的主键
Alter table 表名 ADD primary key(列名);
作为主键的列数据不能重复。
ALTER TABLE SCOTT ADD primary key(empno);
增加表的外键
Alter table 主表 add foreign key(列名) references 外表(列名);
引用的外表列名必须是外表的主键
ALTER TABLE SCOTT ADD FOREIGN KEY(DEPTNO) REFERENCES DEPT(DEPTNO);
删除表的外键
第一步:获取表的外键约束
Show create table 表名;
SHOW CREATE TABLE SCOTT;
第二步:删除表的外键约束
Alter table 主表名 drop foreign key 外键约束名;
ALTER TABLE SCOTT DROP FOREIGN KEY scott_ibfk_1;
第三步:删除表的键
Alter table 主表名 drop key 外键约束名;
ALTER TABLE SCOTT DROP KEY deptno;
修改表的名称
Rename table 旧表名 to 新表名;
Rename table scott to emp;
查询表的结构
Show columns from 表名;
show columns from DEPT;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本