第三章笔记 DML SQL数据操作语言

数据修改

插入

1)插入完整的行记录

        语法格式

INSERT INTO table_name
VALUES
(value1,value2,...value2);

或者

INSERT INTO table_name
(column1,column2,...,columnn)
VALUES
(value1,value2,...,valuen);

2)指定字段插入数据

        语法格式

INSERT INTO table_name
(column1,column2,...,columnn)
VALUES
(value1,value2,...,valuen);

3)一次插入多条数据记录

        语法格式

INSERT INTO table_name 
VALUES 
(value1 [,value2, …, valuen]),
(value1 [,value2, …, valuen]),
……
(value1 [,value2, …, valuen]);

或者

INSERT INTO table_name 
(column1 [, column2, …, columnn]) 
VALUES 
(value1 [,value2, …, valuen]),
(value1 [,value2, …, valuen]),
……
(value1 [,value2, …, valuen]);

4)将查询结果插入另一个表中 

        语法格式

INSERT INTO target_table
(tar_column1 [, tar_column2, …, tar_columnn])
SELECT
(src_column1 [, src_column2, …, src_columnn])
FROM source_table
WHERE condition;

ps([  ]里是条件语句,若没有则会对全部数据操作)

修改

1)语法格式

UPDATE table_name
SET column1=value1, column2=value2, … , column=valuen
WHERE condition;

2)更新数据表中所有的记录

语法格式

UPDATE table_name
SET column1=value1, column2=value2, … , column=valuen;

3)更新表中特定的数据行(condition 即为条件,将其写入即可)

UPDATE table_name
SET column1=value1, column2=value2, … , column=valuen
WHERE condition;

4)更新某个范围内的数据

通过 BETWEEN...AND,>,<,=,>=,<=,<>(不等),!=,LIKE,IN,NOT IN

其中like作为模糊查询比较常用比如包含某某,就是LIKE '%某某%'

5)更新符合正则表达式的数据

用关键词REGEXP 后加上正则表达式(建议自己学一下这个玩意,蛮有意思,可以大大节省代码量)

删除

语法格式

DELETE FROM table_name WHERE condition;

1)删除表中特定数据(只要加上condition即可)

2)删除某个范围

通过 BETWEEN...AND,>,<,=,>=,<=,<>(不等),!=,LIKE,IN,NOT IN

其中like作为模糊查询比较常用比如包含某某,就是LIKE '%某某%',IN还可以和SELECT语句搭配使用

3)删除符合正则表达式的数据

同更新一样操作

4)删除所有数据

DELETE FROM  table_name;

数据查询

1)核心语法

SELECT column1,column2....
FROM tablename
WHERE conditions;

2)选择全部列

SELECT *
FROM tablename;

3)去重操作

SELECT DISTINCT column1  AS name1....
FROM   tablename AS tablename1
WHERE conditions;

4)分组操作

SELECT DINSTINCT column1  AS name1....
FROM   tablename AS tablename1
WHERE conditions
GROUP BY column;

5)统计操作

SELECT DINSTINCT column1  AS name1....COUNT(*/column)[sum([DISTINCT]column),AVG(column),MAX(column),MIN(column)]
FROM   tablename AS tablename1
WHERE conditions;

6)筛选操作

SELECT DINSTINCT column1  AS name1....
FROM   tablename AS tablename1
WHERE conditions
HAVING conditionss;

6)FROM 和WHERE后面可以跟一个嵌套查询,FROM后面那个嵌套查询可以看作临时的一个表,where后可以看成集合从而用exists,in,is null,not in,and,or,like,between等等。

7)三段论

1.根据需求确定核心输入表,放在FROM后面,然后检查已知的条件,判断输出内容在哪些表是否需要中介表,还要判断是否重复,去重DISTINCT放在select 后

2.确定运算法则,放在where后面,还可以用with 表名(列名)as (select 嵌套)创建临时表来用。对于要分组的情况要放在where后且分组字段放在select之后,分组后如果还要选择就用having,还要排序就用order by name(升序用ASC,降序用DES)

3.确定输出部分,有同名注意用表区分

8)处理过程

 语法不完全,之后如果有不足会再来补充的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值