MySQL 和 数据库
什么是MySQL?
MySQL : 是数据库管理系统(DBMS),是一种 客户端 - 服务器 类型的程序,用户通过客户端与服务器建立会话、发送 SQL 命令;服务器执行 SQL命令并返回相应的结果给客户端
什么是数据库?
数据库 : 按照一定方式组织的数据集合,数据库主要发挥数据处理的作用
数据处理 : 存储, 查询, 修改, 统计,排序

1. 库的基本操作
1. 1 创建数据库
🔸SQL语句:create database 数据库名;

1. 2 查看数据库
🔸SQL语句:show databases;

1. 3 使用数据库
🔸SQL语句:use databases;

1. 4 删除数据库
🔸SQL语句:drop databases 数据库名;

2. 表的基本操作
在操作表前 要选中(使用)数据库
use 数据库名
2. 1 创建表
🔸SQL语句:create table 表名 (列名 类型, 列名 类型);

2. 2 查看所有表
🔸SQL语句:show tables ;

2. 3 查看表的结构
🔸SQL语句:desc 表名 ;

| Field | Type | NULL | Key | Default | Extra |
|---|---|---|---|---|---|
| 字段 | 数据类型 | 是否允许为 NULL(YES 允许,NO 不允许) | 索引类型 | 默认值 | 额外信息 |
2. 4 删除表
🔸SQL语句:drop table 表名;

3. Create(增加)
🔸SQL语句:insert into 表名 values(字段, 字段); (into 可以省略)
- 一次添加一条数据

- 一次添加多条数据

- 指定列添加数据

4. Retrieve(检索)
4 . 1 检索所有记录
🔸SQL 语句 : select * from 表名 ,* 是是通配符,可以表示所有的所有的行和列
4 . 2 指定列检索
🔸SQL 语句 : select 列名,列名 from 表名

4 . 3 带有表达式的检索
🔸SQL 语句 : select 表达式 from 表名

用表达式进行检索,得到的是一个临时表,并没有修改服务器硬盘中的原始数据, 只临时存在这次检索结果

4 . 3 表达式检索时使用别名
🔸SQL 语句 : select 表达式 as 别名 from 表名

4 . 4 去重检索
🔸SQL 语句 : select distinct 列名,列名 from 表名

去重检索 :只有发生在要检索的数据相同的情况下


4 . 5 条件检索
🔸SQL 语句 : select 列名,列名 from 表名 where 条件表达式

where 后面的条件表达式不能是别名

Error ❌:

4 . 5 and、 or
🔸SQL 语句 : select 列名,列名 from 表名 where 条件表达式 and 条件表达式 ;

🔸SQL 语句 : select 列名,列名 from 表名 where 条件表达式 or 条件表达式 ;

4. 6 between and 、 in
🔸SQL 语句 : select 列名,列名 from 表名 where 列名或表达式 between a and b ;
between 数字a and 数字b: 表示的是范围是在闭区间[ a , b ]内

🔸SQL 语句 : select 列名,列名 from 表名 where 列名或表达式 in (a, b , c, ...., n);
in (数字a, 数字b, 数字c, ...... , 数组n ): 表示在选项之内

4. 7 模糊检索
🔸SQL 语句 : select 列名,列名 from 表名 where 列名 like ;
例如检索 p 开头的名字
like"p%"、like "p_"
%: 代表 0 个或多个通配符 ;_: 代表一个任意字符

4. 7 排序
🔸SQL 语句 : select 列名,列名 from 表名 order by 列名 / 表达式 [sac / desc];
①
asc: 是升序排序desc: 是降序排序 ,desc是descend的缩写② 如果不指定排序方式默认是 升序排序
③ 如果存在
null则null是最小值

还可以对多个字段进行排序
按照英语优先,数学其次的方式排序

也可以对别名进行排序

4. 8 分页查询
- 没有分页查询的数据

🔸 sql 语句 : select 列名,列名 from 表名 order by .... limit num;
表示从 下标 0 开始 筛选
num条数据

🔸 SQL 语句 : select 列名,列名 from 表名 order by .... limit start , num;
🔸 SQL 语句 : select 列名,列名 from 表名 order by .... limit start offset num;
limit start , num和limit start offset num都表示 从start的位置筛选num条数据只是
limit start offset num这种写法更明确

5. update (更新)
🔸 SQL 语句 : update 表名 set 列名 = 值 ,set 列名 = 值 where ... order by .... limit ...;

(把数学成绩不及格 更新为 60)

6. Delete (删除)
🔸 SQL 语句 : delete from 表名 wherre 条件语句

不加 where 条件默认删除所有表中的数据

drop table 表名:把表和数据都删除
delete from 表名: 只会删除表的数据,不会删表