数据库语法复习

总结:

DDL(数据定义语言)

  • CREATE DATABASE:创建一个新的数据库。
  • DROP DATABASE:删除一个数据库。
  • CREATE TABLE:创建一个新的表。
  • DROP TABLE:删除一个表。
  • ALTER TABLE:修改表的结构,如添加、删除或修改列。

DML(数据操作语言)

  • INSERT INTO:向表中插入新记录。
  • SELECT:从表中检索数据。
  • UPDATE:修改表中的现有记录。
  • DELETE:从表中删除记录。

DQL(数据查询语言)

  • 实际上是DML的一部分,但常用来特别指代SELECT命令及其相关操作(如聚合函数、排序、分组等)。

TCL(事务控制语言)

  • BEGIN TRANSACTION(或START TRANSACTION):开始一个新的事务。
  • COMMIT:提交当前事务,使其更改永久化。
  • ROLLBACK:撤销当前事务的更改。

DCL(数据控制语言)

  • GRANT:授予用户或角色对数据库对象的权限。
  • REVOKE:撤销用户或角色对数据库对象的权限。

1.创建数据库

CREATE DATABASE database_name;

2.删除数据库

DROP DATABASE database_name;

3.选择数据库

USE database_name;

4.创建表

CREATE TABLE table_name (

column1 datatype,

column2 datatype,

column3 datatype,

.... );

5.删除表

DROP TABLE table_name;

6.插入数据

INSERT INTO table_name (column1, column2, column3, ...)

VALUES (value1, value2, value3, ...);

7.查询数据

SELECT column1, column2, ...

FROM table_name

WHERE condition;

8.更新数据

UPDATE table_name

SET column1 = value1, column2 = value2, ...

WHERE condition;

9.删除数据

DELETE FROM table_name WHERE condition;

10条件语句

    • 等于: =
    • 不等于: <>!=
    • 大于: >
    • 小于: <
    • 大于等于: >=
    • 小于等于: <=
    • AND, OR, NOT 用于组合条件

11.排序

SELECT column1, column2, ...

FROM table_name

ORDER BY column1

ASC|DESC;

12.聚合函数

    • COUNT(): 计算行数
    • SUM(): 计算总和
    • AVG(): 计算平均值
    • MAX(): 返回最大值
    • MIN(): 返回最小值

13.分组

SELECT column_name(s), aggregate_function(column_name)

FROM table_name

WHERE condition

GROUP BY column_name(s);

​​​​​​​14.连接表

    • INNER JOIN: 返回两个表中都有的记录
    • LEFT JOIN: 返回左表中的所有记录,以及右表中匹配的记录
    • RIGHT JOIN: 返回右表中的所有记录,以及左表中匹配的记录
    • FULL JOIN: 返回左表和右表中的所有记录,如果某一边没有匹配,则结果中对应字段为空

15.创建索引

CREATE INDEX index_name ON table_name (column1, column2, ...);

16.删除索引

DROP INDEX index_name ON table_name;

17.修改表结构

  • 添加列: ALTER TABLE table_name ADD column_name datatype;
  • 删除列: ALTER TABLE table_name DROP COLUMN column_name;
  • 修改列: ALTER TABLE table_name MODIFY COLUMN column_name new_datatype; (注意:不是所有数据库系统都支持MODIFY COLUMN)
  • 重命名列: 这通常需要一个两步过程,首先添加一个新列,然后将旧列的数据复制到新列,最后删除旧列。但某些数据库系统(如MySQL)提供了重命名列的直接方法。

18.事务管理

  • 开始事务: BEGIN;START TRANSACTION;
  • 提交事务: COMMIT;
  • 回滚事务: ROLLBACK;
sql 复制代码
数据库语法通常指的是用于管理和操作数据库的各种命令和语句。
这些语法因不同的数据库管理系统(DBMS)而异,但大多数关系
型数据库管理系统(RDBMS)都支持SQL(结构化查询语言)作
为其核心语言。以下是一些常见的数据库语法示例,这些示例在
大多数RDBMS中都是通用的或相似的:

1. DDL (数据定义语言)
创建数据库

sql
CREATE DATABASE database_name;
删除数据库

sql
DROP DATABASE database_name;
创建表

sql
CREATE TABLE table_name (  
    column1 datatype,  
    column2 datatype,  
    ...  
);
删除表

sql
DROP TABLE table_name;
修改表结构

sql
-- 添加列  
ALTER TABLE table_name ADD column_name datatype;  
  
-- 删除列  
ALTER TABLE table_name DROP COLUMN column_name;  
  
-- 修改列的数据类型  
ALTER TABLE table_name ALTER COLUMN column_name new_datatype;
2. DML (数据操作语言)
插入数据

sql
INSERT INTO table_name (column1, column2, ...)  
VALUES (value1, value2, ...);
查询数据

sql
SELECT column1, column2, ...  
FROM table_name  
WHERE condition;
更新数据

sql
UPDATE table_name  
SET column1 = value1, column2 = value2, ...  
WHERE condition;
删除数据

sql
DELETE FROM table_name WHERE condition;
3. DQL (数据查询语言)
聚合函数

sql
SELECT COUNT(column_name), AVG(column_name), ...  
FROM table_name  
WHERE condition;
排序

sql
SELECT column1, column2, ...  
FROM table_name  
ORDER BY column1 ASC|DESC;
分组

sql
SELECT column_name(s), aggregate_function(column_name)  
FROM table_name  
WHERE condition  
GROUP BY column_name(s);
4. TCL (事务控制语言)
开始事务

sql
BEGIN TRANSACTION;
提交事务

sql
COMMIT;
回滚事务

sql
ROLLBACK;
5. DCL (数据控制语言)
创建用户 (在SQL Server中)

sql
CREATE LOGIN login_name WITH PASSWORD = 'password';  
CREATE USER username FOR LOGIN login_name;
授予权限

sql
GRANT permission ON object TO user_or_role;
撤销权限

sql
REVOKE permission ON object FROM user_or_role;
请注意,上述语法示例在不同的DBMS中可能有所差异。
例如,某些数据库系统可能使用不同的关键字或语法来
执行相同的操作。因此,在使用特定的DBMS时,建议查阅该
DBMS的官方文档以获取准确的语法和用法信息。
相关推荐
趴着喝可乐25 分钟前
CentOS7安装部署双版本MySQL
mysql·centos
猫吻鱼30 分钟前
【MySQL05】【 undo 日志】
mysql
皓空揽月2 小时前
Win10安装MongoDB(详细版)
数据库·mongodb
源代码:趴菜2 小时前
MySQL表操作
数据库·mysql
字节跳动数据平台2 小时前
深耕分析型数据库领域,火山引擎ByteHouse入围《2024爱分析数据库厂商全景报告
数据库·后端·云原生
mosi3572 小时前
使用C#进行MySQL删改查操作
mysql·c#
续亮~2 小时前
6、Redis系统-数据结构-07-QuickList
数据结构·数据库·redis
想做后端的前端2 小时前
Redis的持久化机制
数据库·redis·bootstrap
李长安的博客2 小时前
Oracle PL / SQL update更新数据
数据库·sql·oracle
生活真难2 小时前
Postgresql - 用户权限数据库
数据库