一、SQL的简介
1、SQL是什么
SQL(Structured Query Language,结构化查询语言)是一种专门用来管理关系型数据库的编程语言。它提供了一种标准的途径来查询、操作和管理数据库中的数据。
2、SQL应用
SQL被广泛应用于各种关系型数据库管理系统(RDBMS),如Oracle、MySQL、SQL Server、PostgreSQL等。
3、SQL的功能:
-
数据定义语言(DDL):用于创建、修改和删除数据库对象,如数据库、表、视图、索引等。
-
数据操作语言(DML):用于插入、查询、更新和删除数据库中的数据。
-
数据查询语言(DQL):用于从数据库中查询数据,并获取满足指定条件的结果。
-
数据控制语言(DCL):用于定义数据库的安全性和完整性规则,授权和撤销访问权限。
二、SQL语言分类
1、DDL(Data Definition Language) 数据库定义语言
(1)对数据库的操作:
-
create database 库名:用于创建数据库。
-
alter database 库名:用于修改数据库的属性。
-
drop database 库名:用于删除数据库。
-
use 库名:用于选择要使用的数据库。
(2)对表的操作:
-
CREATE DATABASE 表名:用于创建表。
-
ALTER TABLE 表名:用于修改表的结构,如添加、修改或删除列、索引等。
-
DROP TABLE 表名:用于删除表。
-
TRUNCATE TABLE:用于删除表中的数据,但保留表的结构。
-
RENAME TABLE:用于重命名表。
(3)对列的操作:
-
ALTER TABLE:通过ALTER TABLE语句,可以添加、修改或删除表的列。
-
RENAME COLUMN:用于重命名表中的列。
(4)对索引的操作:
-
CREATE INDEX:用于创建索引。
-
DROP INDEX:用于删除索引。
(5)对约束的操作:
-
CREATE TABLE:可以在CREATE TABLE语句中定义表级约束,如主键约束、唯一约束、外键约束等。
-
ALTER TABLE:通过ALTER TABLE语句,可以添加、修改或删除表级约束。
(6)对视图的操作:
-
CREATE VIEW:用于创建视图。
-
ALTER VIEW:用于修改视图的定义。
-
DROP VIEW:用于删除视图。
(7)对存储过程与函数的操作:
-
CREATE PROCEDURE:用于创建存储过程。
-
ALTER PROCEDURE:用于修改存储过程的定义。
-
DROP PROCEDURE:用于删除存储过程。
-
CREATE FUNCTION:用于创建函数。
-
ALTER FUNCTION:用于修改函数的定义。
-
DROP FUNCTION:用于删除函数
(8)其他操作:
-
COMMENT:用于为数据库、表、列等对象添加注释。
2、DML(Data Manipulation Language)数据库操作语言
常见的DML语句和功能:
-
INSERT INTO:用于向数据库中插入新的行。
例:INSERT INTO mytable (column1, column2) VALUES ('value1', 'value2');
-
UPDATE:用于修改数据库中的数据。
例:UPDATE mytable SET column1 = 'new value' WHERE condition;
-
DELETE FROM:用于从数据库中删除数据。
例:DELETE FROM mytable WHERE condition;
3、DQL(Data Query Language)数据库查询语言
常见的DQL语句和功能:
-
SELECT:用于从数据库中查询数据。
例:SELECT column1, column2 FROM mytable WHERE condition;
-
FROM:指定要查询的数据表。
例:SELECT column1, column2 FROM mytable;
-
WHERE:指定查询过滤条件。
例:SELECT column1, column2 FROM mytable WHERE condition;
-
GROUP BY:按照指定的列对查询结果进行分组。
例:SELECT column1, COUNT(column2) FROM mytable GROUP BY column1;
-
HAVING:指定对分组后的结果进行过滤的条件。
例:SELECT column1, COUNT(column2) FROM mytable GROUP BY column1 HAVING COUNT(column2) > 10;
-
ORDER BY:指定查询结果的排序顺序。
例:SELECT column1, column2 FROM mytable ORDER BY column1 ASC;
-
JOIN:用于将多个表按照某些条件连接在一起进行查询。
例:SELECT t1.column1, t2.column2 FROM table1 t1 JOIN table2 t2 ON t1.id = t2.id;