DML,DDL

数据库操作语言DML

一、插入语句

语法:
方式一:insert into 表名(列名,…) value(值1,…);
方式二:insert into 表名 set 列名=值,列名=值,…

1
2
3
INSERT INTO beauty(id,name,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'Taylor','女','1990-1-1','123456789',NULL,2);
INSERT INTO beauty SET id =14,name='刘涛',phone='987654321';

二、修改语句

修改单表:
语法:update 表名 set 列=新值,….where 筛选条件;
修改多表:
语法:update 表1 别名,表2 别名 set 列=值,…where 连接条件;
update 表1 别名inner join表2 别名 on 连接条件 set 列=值,…where 筛选条件;

1
UPDATE beauty SET phone='123456' WHERE name LIKE"周%";

三、删除语句

删除单表:
语法:delete from 表名 where 条件;
删除多表:
语法:delete 表1的别名,表2的别名 from 表1 别名,表2 别名where 连接条件 and 筛选条件;
delete 表1的别名,表2的别名 from 表1 别名 inner join表2 别名 on 连接条件 where 筛选条件;

删除整表:truncate table 表名;
1、如果要删除的表有自增长列,
用delete删除后再插入数据自增长值从断点开始
用truncate删除后再插入数据自增长的值从1开始
2、truncate没有返回值
3、truncate删除不能回滚,delete删除可以回滚

1
DELETE FROM beauty WHERE phone LIKE "%9";

数据定义语言DDL

库的管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 1.库的创建
/*
语法:create database [if not exists]库名;
*/
CREATE DATABASE book;
# 2.库的修改
/*
一般不作修改
更改字符集:alter database 库名 character set 字符集;
*/
# 3.库的删除
/*
语法:drop [if exists]database 库名;
*/
DROP DATABASE book;

表的管理

创建:create

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
语法:
create table 表名(
列名 列的类型[(长度)约束],
列名 列的类型[(长度)约束],
....
列名 列的类型[(长度)约束],
);
*/
USE book;
CREATE TABLE book(
id INT,# 编号
bname varchar(20),# 书名
price DOUBLE,# 价格
author INT,# 作者id
publishDate DATETIME # 出版日期
);
DESC book; # 查看表

CREATE TABLE author(
id INT,
au_name varchar(20),
nation varchar(10)
);
DESC author;

# 表的复制
# 仅仅复制表的结构
CREATE TABLE copy LIKE book;
# 复制表的结构和数据
CREATE TABLE copy1 select * FROM book;

修改:alter

1
2
3
4
5
6
7
8
9
10
# 修改列名
ALTER TABLE book CHANGE COLUMN publishDate pubdate DATETIME;
# 修改列的类型和约束
ALTER TABLE book MODIFY COLUMN pubDate TIMESTAMP
# 添加新列
ALTER TABLE author ADD COLUMN annual DOUBLE;
# 删除列
ALTER TABLE author DROP COLUMN annual;
# 修改表名
ALTER TABLE author RENAME book_author;

删除:drop

1
DROP TABLE IF EXISTS book_author;