区块链技术博客
www.b2bchain.cn

SQL基础篇,你知道自己写的SQL语句属于DDL、DML还是DCL吗?(二)求职学习资料

D0b2wT.gif

本文介绍了SQL基础篇,你知道自己写的SQL语句属于DDL、DML还是DCL吗?(二)求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

作为程序员,你知道自己写的SQL语句属于传说中的DDL、DML还是DCL吗?(二)

DML:DML操作是指对数据库中表记录的操作,主要包括表记录的插入(insert)、更新(update)、删除(delete)和查询(select)。即传说中的增删查改,程序员必备技能。

1. 插入(增)- INSERT语句

1.1 单条插入

### emp表插入单条语句 INSERT INTO emp      ( ename, hiredate, sal, deptno ) VALUES     ( 'zzx1', '2000-01-01', '2000', 1 ); ###或 INSERT INTO emp VALUES     ( 'lisa', '2003-02-01', '3000', 2 ); ###    或 INSERT INTO emp ( ename, sal ) VALUES     ( 'dony', 1000 );   
  • 个人推荐使用第一种写法,比较明确对应字段及值。
  • 第二种写法:插入时,不指定字段名称的时候,需要values的顺序和字段的排列顺序一致。
  • 第三种写法:对于含可空字段、含有默认值的非空字段、自增字段,可以不用写insert后的字段列表,values后面只写对应字段名称的value,没写的字段可以自动设置为NULL、默认值、自增的下一个数字,这种情况可以缩短SQL语句的复杂性。

1.2 多条插入

###emp表一次性插入多条记录 INSERT INTO emp      ( ename, hiredate, sal, deptno ) VALUES     ( 'zzx1', '2000-01-01', '2000', 1 ),     ( 'zzx2', '2000-03-01', '3000', 2 );
  • 多条插入基本和单条插入保持一致,values后跟多条数据对应即可。

2. 更新(改)- update语句

####单表更新 UPDATE emp  SET sal = 4000  WHERE     ename = 'lisa';  ####多表更新 UPDATE  emp a, dept b  SET a.sal = a.sal * b.deptno, b.deptname = a.ename  WHERE     a.deptno = b.deptno;
  • 切记:多个字段更新是用逗号隔开,有兴趣的小伙伴可以试一下and。

3. 查询(查)- select 语句

  • 3.1 基础查询
SELECT * FROM emp; select ename,hiredate,sal,deptno from emp;

“*”表示要将所有的记录都选出来,可以用逗号分割的所有字段来代替

  • 3.2 查询不重复的记录–distinct
SELECT DISTINCT deptno FROM emp;
  • 3.3 条件查询–where
SELECT * FROM emp WHERE deptno = 1 AND sal < 3000;
  • 3.4 排序–order by
SELECT *  FROM emp ORDER BY deptno ASC,sal DESC;

3.4.1. DESC 表示按照字段降序排列
3.4.2. ASC 则表示升序排列
3.4.3. 如果不写此关键字默认是升序排列
3.4.4. ORDER BY 后面可以跟多个不同的排序字段,并且每个排序字段可以有不同的排序顺序。

  • 3.5 限制–limit
#### 取前3个 SELECT * FROM emp ORDER BY sal LIMIT 3; #### 从第2条记录开始,取3条记录 SELECT * FROM emp  ORDER BY sal LIMIT 1,3;

3.5.1 第一个数字表示记录的起始偏移量,第二个数字表示显示的行数。默认情况下,起始偏移量为0(可以省略),以偏移量开始,获取几行记录。
3.5.2 limit一般情况和**order by 一起配合使用来进行记录的分页显示。

  • 3.6 聚合查询–sum(求和)、count(*)(记录数)、max(最大值)、min(最小值)

作为程序员,你知道自己写的SQL语句属于传说中的DDL、DML还是DCL吗?(二)

DML:DML操作是指对数据库中表记录的操作,主要包括表记录的插入(insert)、更新(update)、删除(delete)和查询(select)。即传说中的增删查改,程序员必备技能。

1. 插入(增)- INSERT语句

1.1 单条插入

### emp表插入单条语句 INSERT INTO emp      ( ename, hiredate, sal, deptno ) VALUES     ( 'zzx1', '2000-01-01', '2000', 1 ); ###或 INSERT INTO emp VALUES     ( 'lisa', '2003-02-01', '3000', 2 ); ###    或 INSERT INTO emp ( ename, sal ) VALUES     ( 'dony', 1000 );   
  • 个人推荐使用第一种写法,比较明确对应字段及值。
  • 第二种写法:插入时,不指定字段名称的时候,需要values的顺序和字段的排列顺序一致。
  • 第三种写法:对于含可空字段、含有默认值的非空字段、自增字段,可以不用写insert后的字段列表,values后面只写对应字段名称的value,没写的字段可以自动设置为NULL、默认值、自增的下一个数字,这种情况可以缩短SQL语句的复杂性。

1.2 多条插入

###emp表一次性插入多条记录 INSERT INTO emp      ( ename, hiredate, sal, deptno ) VALUES     ( 'zzx1', '2000-01-01', '2000', 1 ),     ( 'zzx2', '2000-03-01', '3000', 2 );
  • 多条插入基本和单条插入保持一致,values后跟多条数据对应即可。

2. 更新(改)- update语句

####单表更新 UPDATE emp  SET sal = 4000  WHERE     ename = 'lisa';  ####多表更新 UPDATE  emp a, dept b  SET a.sal = a.sal * b.deptno, b.deptname = a.ename  WHERE     a.deptno = b.deptno;
  • 切记:多个字段更新是用逗号隔开,有兴趣的小伙伴可以试一下and。

3. 查询(查)- select 语句

  • 3.1 基础查询
SELECT * FROM emp; select ename,hiredate,sal,deptno from emp;

“*”表示要将所有的记录都选出来,可以用逗号分割的所有字段来代替

  • 3.2 查询不重复的记录–distinct
SELECT DISTINCT deptno FROM emp;
  • 3.3 条件查询–where
SELECT * FROM emp WHERE deptno = 1 AND sal < 3000;
  • 3.4 排序–order by
SELECT *  FROM emp ORDER BY deptno ASC,sal DESC;

3.4.1. DESC 表示按照字段降序排列
3.4.2. ASC 则表示升序排列
3.4.3. 如果不写此关键字默认是升序排列
3.4.4. ORDER BY 后面可以跟多个不同的排序字段,并且每个排序字段可以有不同的排序顺序。

  • 3.5 限制–limit
#### 取前3个 SELECT * FROM emp ORDER BY sal LIMIT 3; #### 从第2条记录开始,取3条记录 SELECT * FROM emp  ORDER BY sal LIMIT 1,3;

3.5.1 第一个数字表示记录的起始偏移量,第二个数字表示显示的行数。默认情况下,起始偏移量为0(可以省略),以偏移量开始,获取几行记录。
3.5.2 limit一般情况和**order by 一起配合使用来进行记录的分页显示。

  • 3.6 聚合查询–sum(求和)、count(*)(记录数)、max(最大值)、min(最小值)

作为程序员,你知道自己写的SQL语句属于传说中的DDL、DML还是DCL吗?(二)

DML:DML操作是指对数据库中表记录的操作,主要包括表记录的插入(insert)、更新(update)、删除(delete)和查询(select)。即传说中的增删查改,程序员必备技能。

1. 插入(增)- INSERT语句

1.1 单条插入

### emp表插入单条语句 INSERT INTO emp      ( ename, hiredate, sal, deptno ) VALUES     ( 'zzx1', '2000-01-01', '2000', 1 ); ###或 INSERT INTO emp VALUES     ( 'lisa', '2003-02-01', '3000', 2 ); ###    或 INSERT INTO emp ( ename, sal ) VALUES     ( 'dony', 1000 );   
  • 个人推荐使用第一种写法,比较明确对应字段及值。
  • 第二种写法:插入时,不指定字段名称的时候,需要values的顺序和字段的排列顺序一致。
  • 第三种写法:对于含可空字段、含有默认值的非空字段、自增字段,可以不用写insert后的字段列表,values后面只写对应字段名称的value,没写的字段可以自动设置为NULL、默认值、自增的下一个数字,这种情况可以缩短SQL语句的复杂性。

1.2 多条插入

###emp表一次性插入多条记录 INSERT INTO emp      ( ename, hiredate, sal, deptno ) VALUES     ( 'zzx1', '2000-01-01', '2000', 1 ),     ( 'zzx2', '2000-03-01', '3000', 2 );
  • 多条插入基本和单条插入保持一致,values后跟多条数据对应即可。

2. 更新(改)- update语句

####单表更新 UPDATE emp  SET sal = 4000  WHERE     ename = 'lisa';  ####多表更新 UPDATE  emp a, dept b  SET a.sal = a.sal * b.deptno, b.deptname = a.ename  WHERE     a.deptno = b.deptno;
  • 切记:多个字段更新是用逗号隔开,有兴趣的小伙伴可以试一下and。

3. 查询(查)- select 语句

  • 3.1 基础查询
SELECT * FROM emp; select ename,hiredate,sal,deptno from emp;

“*”表示要将所有的记录都选出来,可以用逗号分割的所有字段来代替

  • 3.2 查询不重复的记录–distinct
SELECT DISTINCT deptno FROM emp;
  • 3.3 条件查询–where
SELECT * FROM emp WHERE deptno = 1 AND sal < 3000;
  • 3.4 排序–order by
SELECT *  FROM emp ORDER BY deptno ASC,sal DESC;

3.4.1. DESC 表示按照字段降序排列
3.4.2. ASC 则表示升序排列
3.4.3. 如果不写此关键字默认是升序排列
3.4.4. ORDER BY 后面可以跟多个不同的排序字段,并且每个排序字段可以有不同的排序顺序。

  • 3.5 限制–limit
#### 取前3个 SELECT * FROM emp ORDER BY sal LIMIT 3; #### 从第2条记录开始,取3条记录 SELECT * FROM emp  ORDER BY sal LIMIT 1,3;

3.5.1 第一个数字表示记录的起始偏移量,第二个数字表示显示的行数。默认情况下,起始偏移量为0(可以省略),以偏移量开始,获取几行记录。
3.5.2 limit一般情况和**order by 一起配合使用来进行记录的分页显示。

  • 3.6 聚合查询–sum(求和)、count(*)(记录数)、max(最大值)、min(最小值)

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » SQL基础篇,你知道自己写的SQL语句属于DDL、DML还是DCL吗?(二)求职学习资料
分享到: 更多 (0)
D0b2wT.gif

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们