SQL入门语句
文章目录
一、创建数据库,删除数据库
【apples是我创建的数据库】
-
创建数据库:**create database ** [if not exists] apples **character set ** utf8mb4;
-
显示可用数据库的列表:show databases;
-
使用(选择)数据库:use apples;
-
删除数据库:**drop database [if exists] **apples;
二、表的操作
-
操作数据库中的表时,需要先使用(选择)数据库:use apples;测试
- 显示数据库内表的列表:show tables;
- 查看表的结构:desc 表名/describe表名/show columns from 表名;
-
创建表:利用 create table 创建表,必须给出以下信息:
-
新表的名字在关键字create table 之后;
-
列表的名字和定义在圆括号中,各列用逗号 分隔;
-
修改表名字:rename table XXX to XXX;
EG:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ovv9PP2e-1619434917833)(E:\※西安邮电大学研究生※\java课程笔记\自创博客\文本照片区\1618908777(1)].png)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l4JqwHEa-1619434917835)(E:\※西安邮电大学研究生※\java课程笔记\自创博客\文本照片区\1618908868(1)].png)
-
在数据库libraray中创建books表的步骤,如上所示
三、增删查改
1.新增(数据插入)
(1)插入行
insert into students values(************) — 不安全 测试
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nt8wZvS4-1619434917837)(E:\※西安邮电大学研究生※\java课程笔记\自创博客\文本照片区\1618984922(1)].png)
insert into students (指定列,每列用逗号隔开) values (列对应的值) —安全
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vZpovLoZ-1619434917838)(E:\※西安邮电大学研究生※\java课程笔记\自创博客\文本照片区\1618985244(1)].png)
(2)插入多个行
insert into students **(指定列,每列用逗号隔开) **
values (列对应的值),(列对应的值),…(列对应的值);
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a9Fb1vFo-1619434917839)(E:\※西安邮电大学研究生※\java课程笔记\自创博客\文本照片区\1618985652(1)].png)
2、 更新数据UPDATE
**update ** students set name=‘娜美’ where sid=3;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8XxnIB4l-1619434917840)(E:\※西安邮电大学研究生※\java课程笔记\自创博客\文本照片区\1618986005(1)].png)
-
update 语句以 where子句结束,它告诉MySQL更新哪一行,没有where子句,MySQL将会用这个name更新students表中所有的行,这并不使我们想看到的
3、删除数据DELETE
(1)从表中删除特定的行
delete from students where sid=4;
- delete from如果省去where就会删除表中的每一个客户
- delete删除整行而不是整列,为了删除整个列请使用update
4、查找数据
(1)查找单个列
- select name from students;
(2)查找多个列
- select name,sid from students;
(3)查找所有列
- select * from students;
(4)查找不同行
- select distinct —只返回不同的值
(5)限制结果
- select name from students limit 3;-----从0行开始,返回不多于3行【默认从0行开始】
- select name from students limit 3 offset 1;-----***从第1行开始,返回不多于三行;***【offset代表起始行】
排序查找
(1)排序数据
-
select name from students order by sid;------***(默认:升序),+desc(降序);***
-
按多个条件排序
select name from students order by sid,sn;----仅在多个行具有相同的sid时,才对姓名按sn进行排序,如果sid列所有的值都是唯一的,则不会按sn进行排序
过滤数据where
-
使用where子句中指定的搜索条件进行过滤
-
where子句操作符:
where子句操作符表格 注意:1.AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分。
<td>NOT</td> <td>条件为TRUE时,结果为FALSE,经常与其他运算符连用,eg:NOT IN(option,..)表示如果不是option中的任意一个,返回TRUE</td> </tr>
运算符 说明 >,>=,<,<= 大于 大于等于 小于 小于等于 = 等于,NULL不安全,eg:NULL=NULL结果不安全 <=> 等于,NULL安全,eg:NULL<=>NULL的结果是TRUE !=,<> 不等于 BETWEEN a0 and a1 匹配范围[a0,a1],如果a0<=value<=a1,返回TRUE IN(option,....) 如果是option中的任意一个,返回TRUE IS NULL 是NULL IS NOT NULL 不是NULL LIKE 模糊匹配,%表示任意多个任意字符(包含0个);_表示任意一个字符 AND 多个条件必须都为TRUE,结果才是TURE OR 任意一个条件为TRUE,结果为TRUE NOT 条件为TRUE时,结果为FALSE,经常与其他运算符连用,eg:NOT IN(option,..)表示如果不是option中的任意一个,返回TRUE
注意:1.AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分。