1.DDL的操作
1.操作数据库
/* DDL操作数据库 */
-- 查看所有数据库
SHOW DATABASES;
-- 直接创建数据库db1,db2
CREATE DATABASE db1;
CREATE DATABASE db2;
-- 判断是否存在并创建数据库db2,db3
CREATE DATABASE IF NOT EXISTS db2;
CREATE DATABASE IF NOT EXISTS db3;
-- 判断是否存在并创建数据库db4
CREATE DATABASE IF NOT EXISTS db4;
-- 删除db4数据库
DROP DATABASE db4;
-- 判断数据库存在才删除db4,db3
DROP DATABASE IF EXISTS db4;
DROP DATABASE IF EXISTS db3;
-- 切换数据库到db1
USE db1;
2.DDL创建表
/* DDL操作表 */
/*
创建商品表(goods)包含:
商品名称(name),
商品价格(price),
商品销量(sales_volume),
商品生产日期(produced_date)
*/
CREATE TABLE good(
NAME VARCHAR(10),
price DOUBLE,
sales_volume INT,
produced_date DATE
);
/*
需求:设计一张学生表,请注重数据类型、长度的合理性
编号, 整数
姓名, 姓名最长不超过10个汉字
性别, 因为取值只有两种可能,因此最多一个汉字
生日, 取值为年月日
入学成绩, 小数点后保留两位
邮件地址, 最大长度不超过 64
家庭联系电话, 不一定是手机号码,可能会出现 - 等字符,20位以内
*/
CREATE TABLE student(
id INT,
NAME VARCHAR(10),
sex CHAR(1),
birthday DATE,
score DOUBLE(5,2),
email VARCHAR(64),
phone VARCHAR(20)
);
-- 查看db1数据库中的所有表
SHOW TABLES;
-- 查看表结构
DESC good;
-- 直接删除表student表
DROP TABLE student;
-- 将goods改名成goods2
ALTER TABLE good RENAME TO good2;
-- 为goods2表添加一个新的字段img,类型为varchar(20)
ALTER TABLE good2 ADD img VARCHAR(20);
-- 将goods2表中的img字段的改成varchar(100)
ALTER TABLE good2 MODIFY img VARCHAR(100);
DESC good2;
-- 将goods2表中的img字段名改成icon,类型varchar(80)
ALTER TABLE good2 CHANGE img icon VARCHAR(80);
DESC good2;
-- 删除goods2表中的字段icon
ALTER TABLE good2 DROP icon;
DESC good2;
2.DML表数据的增删改
- 添加数据 insert into 表名(列名1,列名2,...) values (值1,值2,...);
- 修改表中的数据 update 表名 set 列名1=值1,列名2=值2;
- 删除表中的数据 delete from 表名;
3.DQL查询数据
1)条件查询
- select 字段名 from 表名 where 条件;
- and或者&& 并且
- or或者|| 或者
- not 或! 非,不是
- between...and... 在某个范围之内(都包含)
- in(...)多选一
2)模糊查询
- SELECT * FROM 表名 WHERE 列名 LIKE 条件;
- %代表任意几个字符;
- _代表1个字符;
3) 排序查询
-
SELECT * FROM 表名 ORDER BY 列明 排序方式;
-
ASD 升序
-
DESC降序
4)聚合函数
- 格式:select 函数名(列名) from 表名;
- COUNT 求 指定列的记录数;
- SUM 求指定列的求和;
- MIN 求指定列的最小值;
- MAX 求指定列的最大值;
- AVG 求指定列的平均值;
- ROUND(数据,小数点);
5)分组查询
- 格式:select 字段名 from 表名 group by 字段名;
6)分页查询
- select * from 表名 limit offset ,length;
- offset 表示跳过几条数据
- length表示得到几条数据