DDL 语句和 DML 语句
- 用DDL定义数据库
- 用DDL维护数据库
- 使用DML新增和更新表数据
- 使用DML删除表
DDL 定义数据库
数据定义语言(Data Definition Language,DDL)是一种用于描述数据库所需存储的现实世界实体的专门语言, 其主要工作是用于定义和维护数据库以及数据表结构。
创建数据库语句
CREATE DATABASE 数据库名
删除数据库语句
DROP DATABASE 数据库名
查看数据库
SHOW DATABASES
创建库 -> 表 - >列
创建数据库语句
CREATE TABLE 表名(
column_name(字段名) date_type(字段数据类型) default_value(默认值) (数据完整性约束),
);
示范:
CREATE TABLE 表名(
UserName int primary key auto_increment not null,
Sex varchar(2) default '男'
);
给表添加外键
-- 主键:PRIMARY KEY (外表必须有主键)
/*
FOREIGN KEY (当前表的列)
REFERENCES 外键的表 (外表的列);
*/
CREATE TABLE A(
sid INT PRIMARY KEY -- 注意:关联的表 必有主键
);
CREATE TABLE B(
Sid INT,
FOREIGN KEY(Sid) REFERENCES A(Sid) -- B的sid被外键A的SID限制
);
注意事项 : 1. 被关联的外键必须是主键 2.数据类型要一致.
用DDL维护数据库
修改表结构
- 添加一段字段
ALTER TABLE 表名 add(字段名 类型) ;
-- 如 : ALTER TABLE A ADD(Sid INT);
- 修改一列字段 小提示: modify 后不用更括号
ALTER TABLE 表名 modify 字段名 类型 ;
-- 如 : ALTER TABLE B MODIFY SName varchar(20);
- 变更一列字段
ALTER TABLE 表名 CHANGE 原字段 新字段 类型 ;
-- 如 : ALTER TABLE A CAHNGE phone iphone varchar(15)
- 更新一列字段
ALTER TABLE 表名 MODIFY 列字段 类型 ;
-- 如 ALTER TABLE A MODIFY phone int(12) ;
- 删除字段子句
ALTER TABLE 表名 DROP COLUMN 列字段
-- ALTER TABLE A DROP COLMN phone;
7.重命表名
RENAME TABLE 表名 TO 要改的表名
-- RENAME TABLE TEXT1 TO TEXT2
8.添加外键
-- 表建完后添加外键
/*ALTER TABLE 本表名
ADD CONSTRAINT 约束键 FOREIGN KEY(本表的键)
REFERENCES 被引用的别表名(被引用的表主键)*/
ALTER TABLE A
ADD CONSTRAINT SID FOREIGN KEY(SID)
REFERENCES B(SID);
-- 创建表时添加外键
# FOREIGN KEY (当前表的键) REFERENCES 选择关联的外表(他的主键)
CREATE TABLE A(
SID INT PRIMARY KEY
);
CREATE TABLE B(
SID INT,
FOREIGN KEY(SID) REFERENCES A(SID)
);
9.删除外键
ALTER TABLE 表 DROP FOREIGN KEY 外键
-- ALTER TABLE verdir DROP FOREIGN KEY SID
总结: ALTER TABLE 表 修改数据.
使用 DML 新增和更新表数据
数据操纵语言(Data Manipulation Language,DML) 由 DBMS 提供,用于让用户或程序员使用,实现对数据库中数据的操作。基本的 DML 分为两类四种:检索(查询)和更新(插入、删除、修改)。
1.插入
-- INSERT INTO 表名 values(数据一,数据二, )
INSERT INTO A VALUES(1,'曹操')
/* 插入多条
INSERT INTO 表名 values
(1,'数据'),
(2,'数据'),
(3,'数据')
*/
INSERT INTO A VALUES
(1,'李白'),
(2,'杜甫'),
(3,'杜牧')
2.修改 注意: 不加where默认全部修改
/*
UPDATE 表
SET 字段1 = 值1 , 字段2 = 值2
WHERE 条件表达式
*/
UPDATE A
SET id = 2 sname = '李四';
使用 DML 删除表数据
3.删除 注意:不加where默认全部删除
/*
DELETE FROM 表名 where 条件表达式
*/
DELETE FORM A WHERE sName = '张三';