数据库语法复习

总结:

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的官方文档以获取准确的语法和用法信息。
相关推荐
大白要努力!1 分钟前
android 使用SQLiteOpenHelper 如何优化数据库的性能
android·数据库·oracle
tatasix1 小时前
MySQL UPDATE语句执行链路解析
数据库·mysql
南城花随雪。1 小时前
硬盘(HDD)与固态硬盘(SSD)详细解读
数据库
儿时可乖了1 小时前
使用 Java 操作 SQLite 数据库
java·数据库·sqlite
懒是一种态度1 小时前
Golang 调用 mongodb 的函数
数据库·mongodb·golang
天海华兮1 小时前
mysql 去重 补全 取出重复 变量 函数 和存储过程
数据库·mysql
gma9992 小时前
Etcd 框架
数据库·etcd
爱吃青椒不爱吃西红柿‍️2 小时前
华为ASP与CSP是什么?
服务器·前端·数据库
Yz98763 小时前
hive的存储格式
大数据·数据库·数据仓库·hive·hadoop·数据库开发
武子康3 小时前
大数据-230 离线数仓 - ODS层的构建 Hive处理 UDF 与 SerDe 处理 与 当前总结
java·大数据·数据仓库·hive·hadoop·sql·hdfs