前言
SQL命令非常用于与数据的交互,这些命令允许用户对数据执行各种操作,本文将介绍SQL命令和SQL子命令语言,例如DDL,DQL,DML,DCL和TCL.
介绍SQL
SQL简述
结构化查询语言(SQL)是一种数据库语言,通过它们我们可以对现有的数据库执行某写操作,我们也可以用这种语言来创建数据库,SQL使用某些命令例如:CREATE,DROP,INSERT等,来执行所需的任务,
SQL命令就像是对表的指令,它通过一些操作与数据库进行交互,他还用与执行特定的任务,功能和数据查询,SQL可以执行各种任务,例如创建表,向表中添加数据,删除表,为用户设置权限.
这些SQL命令主要分为五类
- DDL :数据定义语言
- DQL:数据查询语言
- DML:数据操作语言
- DCL:数据控制语言
- TCL:事务控制语言
如图所示
DDL(Data Definition Language)数据定义语言
DDL或数据定义语言实际上由可用于定义数据库模式的SQL命令组成,他只是处理数据库模式的描述,用于创建和修改数据库中数据库对象的结构.
DDL是一组SQL命令,用于创建,修改和删除数据库结构,但不用于创建,修改和删除数据,一般用户通常不使用这些命令,他们应该通过应用程序访问数据库.
DDL的命令表
命令 | 描述 | 语法 |
---|---|---|
CREATE | 创建数据库或其对象(表,函数,视图,存储过程,和触发器) | CREATE TABLE table_name (column1 data_type, column2 data_type, ...); |
DROP | 从数据库中删除对象 | DROP TABLE table_name; |
ALTER | 改变数据库结构 | ALTER TABLE table_name ADD COLUMN column_name data_type; |
TRUNCATE | 从表中删除所有记录,包括删除为记录分配的所有空间. | TRUNCATE TABLE table_name; |
COMMENT | 向数据添加注释 | COMMENT 'coment_text' ON TABLE table_name; |
RENAME | 重命名数据库现有对象 | REAME TABLE old_table_name TO new_table_name; |
DQL(数据查询语言)Data Query Language
DQL语句对于架构对象内的数据进行查询,DQL命令的目的是根据传递给它的查询获取某种模式关系,我们可以下定义DQL,它是SQL语句中的一个组成部分,允许从数据库中获取数据并对其施加顺序,他包括SELECT语句,
此命令是允许从数据库中获取数据对其执行操作,当针对一个或者多个表触发SELECT时,结果将被编译到另一个临时表中,该临时表将由程序(即前端)显示或者接收.
DQL命令
sql中只有一个DQL命令,即
select
命令 | 描述 | 句法 |
---|---|---|
选择 | 他用于从数据库中检索数据 | select column1,column2,....from table_name where condition; |
DML(数据操作语言)Data Manipulation Language
处理数据库中存在的数据操作的SQL命令属于DML或者数据操作语言,这包括大多数SQL语句.
它是SQL语句的组成部分,控制对数据和数据库的访问,基本上,DCL语句和DML语句分组
DML命令表
命令 | 描述 | 句法 |
---|---|---|
INSERT | 将数据插入表中 | INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); |
UPDATE | 更新表中现有数据 | UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition; |
DELETE | 从数据库中删除记录 | DELETE FROM table_name WHERE condition; |
LOCK | 表并发控制 | LOCK TABLE table_name IN lock_mode; |
CALL | 调用PL/SQL 或者java子程序 | CALL procedure_name(arguments); |
EXPLAINPLAN | 描述数据的访问路径 | EXPLAIN PLAN FOR SELECT * FROM table_name; |
重要得SQL命令
- SELECT: 用于从数据库中检索数据
- INSERT:用于向数据库添加新数据
- UPDATE:用于修改数据库中的现有数据
- DELETE:用于从数据库中删除数据
- CREATE TABLE :用于在数据库中创建新表
- ALTER TABLE:用于修改现有表的结构
- DROP TABLE:用于从数据库中删除整个表
- WHERE 用于根据指定条件进行过滤行
- ORDER BY :用于对结果进行升序或降序排序
- JOIN :用于根据两个或者多个表之间的相关列组合来自两个或者多个表的行.
SQL命令示例
SQL命令 | 例子 |
---|---|
SELECT | SELECT * FROM employees; |
INSERT | INSERT INTO employees (first_name, last_name, email) VALUES ('John', 'Doe', 'john.doe@example.com'); |
UPDATE | UPDATE employees SET email = 'jane.doe@example.com' WHERE first_name = 'Jane' AND last_name = 'Doe'; |
DELETE | DELETE FROM employees WHERE employee_id = 123; |
CREATE TABLE | CREATE TABLE employees ( employee_id INT PRIMARY KEY, first_name VARCHAR(50), last_name VARCHAR(50)); |
ALTER TABLE | ALTER TABLE employees ADD COLUMN phone VARCHAR(20); |
DROP TABLE | DROP TABLE employees; |
WHERE | SELECT * FROM employees WHERE department = 'Sales'; |
ORDER BY | SELECT * FROM employees ORDER BY hire_date DESC; |
JOIN | SELECT e.first_name, e.last_name, d.department_name FROM employees e JOIN departments d ON e.department_id = d.department_id; |