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);
image

增加表的外键

Alter table 主表 add foreign key(列名) references 外表(列名);

引用的外表列名必须是外表的主键

ALTER TABLE SCOTT
ADD FOREIGN KEY(DEPTNO) REFERENCES DEPT(DEPTNO);

image

删除表的外键

第一步:获取表的外键约束
Show create table 表名;
SHOW CREATE TABLE SCOTT;
image
第二步:删除表的外键约束
Alter table 主表名 drop foreign key 外键约束名;
ALTER TABLE SCOTT DROP FOREIGN KEY scott_ibfk_1;
第三步:删除表的键
Alter table 主表名 drop key 外键约束名;
ALTER TABLE SCOTT DROP KEY deptno;
image

修改表的名称

Rename table 旧表名 to 新表名;
Rename table scott to emp;

查询表的结构

Show columns from 表名;
show columns from DEPT;
image

posted @   特雷恩  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示