当前位置: 首页 > 教程 > 数据库管理系统 >

SQL命令

精华
小牛编辑
234浏览
2023-03-14

SQL命令是指令,它用于与数据库通信交互。 它还用于执行特定任务,功能和数据查询。
SQL可以执行各种任务,如创建表,向表中添加数据,删除表,修改表,为用户设置权限等。

SQL命令的类型,如下图所示 :

1. 数据定义语言(DDL)

  • DDL更改表的结构,如创建表,删除表,更改表等。
  • DDL的所有命令都是自动提交的,这意味着它会永久保存数据库中的所有更改。

以下是DDL下的一些命令:

  • CREATE
  • ALTER
  • DROP
  • TRUNCATE

CREATE: 用于在数据库中创建新表。

语法:

CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);

示例

CREATE TABLE EMPLOYEE(
    Name VARCHAR2(20), 
    Email VARCHAR2(100), 
    DOB DATE
);

DROP: 用于删除表中存储的结构和记录。

语法:

DROP TABLE ;

示例

DROP TABLE EMPLOYEE;

ALTER: 它用于改变数据库的结构。此更改可以是修改现有属性,也可以是添加新属性。

语法:

向表中添加新列 -

ALTER TABLE table_name ADD column_name COLUMN-definition;

要修改表中的现有列:

ALTER TABLE MODIFY(COLUMN DEFINITION....);

示例

ALTER TABLE STU_DETAILS ADD(ADDRESS VARCHAR2(20));  
ALTER TABLE STU_DETAILS MODIFY (NAME VARCHAR2(20));

TRUNCATE: 用于删除表中的所有行并释放包含该表的空格。

语法:

TRUNCATE TABLE table_name;

示例:

TRUNCATE TABLE EMPLOYEE;

2.数据操作语言

DML命令用于修改数据库,它负责数据库中的所有形式的更改。
DML的命令不是自动提交的,这意味着它无法永久保存数据库中的所有更改。也可以回滚。

以下是DML下的一些命令:

  • INSERT
  • UPDATE
  • DELETE

INSERT: INSERT语句是SQL查询,它用于将数据插入表的行。

语法:

INSERT INTO TABLE_NAME    
(col1, col2, col3,.... col N)  
VALUES (value1, value2, value3, .... valueN);

或者,

INSERT INTO TABLE_NAME    
VALUES (value1, value2, value3, .... valueN);

示例 -

INSERT INTO tb_yiibai (Author, Subject) VALUES ("Maxsu", "DBMS");

UPDATE: 此命令用于更新或修改表中列的值。

语法:

UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]

示例

UPDATE students    
SET User_Name = 'Yiibai'    
WHERE Student_Id = '3'

DELETE: 用于从表中删除一行或多行。

语法:

DELETE FROM table_name [WHERE condition];

示例

DELETE FROM tb_yiibai  
WHERE Author="Maxsu";

3. 数据控制语言

DCL命令用于授予和恢复任何数据库用户的权限。

以下是DCL下的一些命令:

  • Grant
  • Revoke

Grant: 用于授予用户对数据库的访问权限。

示例

GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;

Revoke: 它用于从用户收回权限。

示例

REVOKE SELECT, UPDATE ON MY_TABLE FROM USER1, USER2;

4. 事务控制语言

TCL命令只能用于INSERTDELETEUPDATE等DML命令。
这些操作会自动在数据库中提交,这就是创建表或删除表时无法使用它们的原因。

以下是TCL下的一些命令:

  • COMMIT
  • ROLLBACK
  • SAVEPOINT

Commit: Commit命令用于将所有事务保存到数据库。

语法

COMMIT;

示例

DELETE FROM CUSTOMERS  
WHERE AGE = 25;  
COMMIT;

Rollback: 回滚命令用于撤消尚未保存到数据库的事务。

语法:

ROLLBACK;

示例

DELETE FROM CUSTOMERS  
WHERE AGE = 25;  
ROLLBACK;

SAVEPOINT: 用于将事务回滚到某个点而不回滚整个事务。

语法:

SAVEPOINT SAVEPOINT_NAME;

5. 数据查询语言

DQL用于从数据库中获取数据。

它只使用一个命令:

  • SELECT

SELECT: 这与关系代数的投影操作相同。它用于根据WHERE子句描述的条件选择属性。

语法

SELECT expressions    
FROM TABLES    
WHERE conditions;

示例

SELECT emp_name  
FROM employee  
WHERE age > 20;