SQL 语法速成手册(干货满满,建议收藏!)

SQL 语法速成手册(干货满满,建议收藏!),第1张

SQL 语法结构包括:

例如: SELECT与select、 Select是相同的。

数据定义语言(Data Definition Language,DDL)是 SQL 语言集中负责数据结构定义与数据库对象定义的语言。

DDL 的主要功能是 定义数据库对象

DDL 的核心指令是CREATE 、 ALTER 、 DROP 。

数据 *** 纵语言(Data Manipulation Language, DML)是用于数据库 *** 作,对数据库其中的对象和数据运行访问工作的编程语句。

DML 的主要功能是 访问数据 ,因此其语法都是以 读写数据库 为主。

DML 的核心指令是INSERT 、 UPDATE 、 DELETE 、 SELECT 。这四个指令合称 CRUD(Create, Read, Update, Delete),即增删改查。

事务控制语言 (Transaction Control Language, TCL) 用于 管理数据库中的事务 。这些用于管理由 DML 语句所做的更改。它还允许将语句分组为逻辑事务。

TCL 的核心指令是COMMIT 、 ROLLBACK 。

数据控制语言 (Data Control Language, DCL) 是一种可对数据访问权进行控制的指令,它可以控制特定用户账户对数据表、查看表、预存程序、用户自定义函数等数据库对象的控制权。

DCL 的核心指令是GRANT 、 REVOKE 。

DCL 以 控制用户的访问权限 为主,因此其指令作法并不复杂,可利用 DCL 控制的权限有: CONNECT 、 SELECT 、 INSERT 、 UPDATE 、 DELETE 、 EXECUTE 、 USAGE 、 REFERENCES 。

根据不同的 DBMS 以及不同的安全性实体,其支持的权限控制也有所不同。

(以下为 DML 语句用法)

插入完整的行

插入行的一部分

插入查询出来的数据

删除表中的指定数据

清空表中的数据

查询单列

查询多列

查询所有列

查询不同的值

限制查询结果

子查询的子查询

SELECT语句中的WHERE子句

UPDATE语句中的WHERE子句

DELETE语句中的WHERE子句

IN 示例

BETWEEN 示例

AND 示例

OR 示例

NOT 示例

% 示例

_ 示例

组合查询

其中, SOUNDEX() 可以将一个字符串转换为描述其语音表示的字母数字模式。

AVG()会忽略 NULL 行。

使用 DISTINCT 可以让汇总函数值汇总不同的值。

指定多个列的排序方向

分组

分组后排序

使用 WHERE 和 HAVING 过滤数据

(以下为 DDL 语句用法)

普通创建

根据已有的表创建新表

添加列

删除列

修改列

添加主键

删除主键

创建表时使用约束条件:

(以下为 TCL 语句用法)

(以下为 DCL 语句用法)

可以使用触发器来进行审计跟踪,把修改记录到另外一张表中。

MySQL 不允许在触发器中使用 CALL 语句 ,也就是不能调用存储过程。

BEGIN和END

当触发器的触发条件满足时,将会执行BEGIN和END之间的触发器执行动作。

NEW和OLD

CREATE TRIGGER指令用于创建触发器。

语法:

说明:

示例:

下面是一些常用的SQL语句,虽然很基础,可是却很值得收藏,对于初学者非常实用

SQL常用命令使用方法:

(1) 数据记录筛选:

sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"

sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"

sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"

sql="select * from 数据表 where 字段名 in ('值1','值2','值3')"

sql="select * from 数据表 where 字段名 between 值1 and 值2"

(2) 更新数据记录:

sql="update 数据表 set 字段名=字段值 where 条件表达式"

sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"

(3) 删除数据记录:

sql="delete from 数据表 where 条件表达式"

sql="delete from 数据表"  (将数据表所有记录删除)

(4) 添加数据记录:

sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"

sql="insert into 目标数据表 select * from 源数据表"  (把源数据表的记录添加到目标数据表)

(5) 数据记录统计函数:

AVG(字段名) 得出一个表格栏平均值

COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计

MAX(字段名) 取得一个表格栏最大的值

MIN(字段名) 取得一个表格栏最小的值

SUM(字段名) 把数据栏的值相加

引用以上函数的方法:

sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"

set rs=conn.excute(sql)

用 rs("别名") 获取统的计值,其它函数运用同上。

(5) 数据表的建立和删除:

CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )

例:CREATE TABLE tab01(name varchar(50),datetime default now())

DROP TABLE 数据表名称 (永久性删除一个数据表)

4. 记录集对象的方法:

rs.movenext              将记录指针从当前的位置向下移一行

rs.moveprevious          将记录指针从当前的位置向上移一行

rs.movefirst             将记录指针移到数据表第一行

rs.movelast              将记录指针移到数据表最后一行

rs.absoluteposition=N    将记录指针移到数据表第N行

rs.absolutepage=N        将记录指针移到第N页的第一行

rs.pagesize=N            设置每页为N条记录

rs.pagecount             根据 pagesize 的设置返回总页数

rs.recordcount           返回记录总数

rs.bof                   返回记录指针是否超出数据表首端,true表示是,false为否

rs.eof                   返回记录指针是否超出数据表末端,true表示是,false为否

rs.delete                删除当前记录,但记录指针不会向下移动

rs.addnew                添加记录到数据表末端

rs.update                更新数据表记录

参考资料

SQL常用命令.csdn[引用时间2017-12-30]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10035125.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存