SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
-
SELECT - 从数据库表中获取数据
-
UPDATE - 更新数据库表中的数据
-
DELETE - 从数据库表中删除数据
-
INSERT INTO - 向数据库表中插入数据
-
CREATE DATABASE - 创建新数据库
-
ALTER DATABASE - 修改数据库
-
CREATE TABLE - 创建新表
-
ALTER TABLE - 变更(改变)数据库表
-
DROP TABLE - 删除表
-
CREATE INDEX - 创建索引(搜索键)
-
DROP INDEX - 删除索引
select
select * from Persons
select lastName from Persons
distinct 对查询的字段去重: SELECT DISTINCT 列名称 FROM 表名称
select distinct lastName from Persons
ORDER BY 排序,默认为升序ASC;降序是DESC
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC
INSERT INTO 向表格中插入新的行: INSERT INTO 表名称 VALUES (值1, 值2,....)
INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')
INSERT INTO Persons (LastName,Address) VALUES('Bill','Champs-Elysees')
Update 修改表中的数据: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
UPDATE Person SET FirstName = 'Fred' WHERE LastName ='Wilson'
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'
WHERE LastName = 'Wilson'
DELETE 删除表中的行 : DELETE FROM 表名称 WHERE 列名称 = 值
DELETE FROM Person WHERE LastName='Wilson'
#不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的
DELETE FROM table_name
DELETE * FROM table_name
TOP 规定要返回的记录的数目 :
SELECT TOP number|percent column_name(s) FROM table_name
SELECT TOP number|percent column_name(s) FROM table_name
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式
通配符
% | 替代一个或多个字符 |
---|---|
_ | 仅替代一个字符 |
[abcd] | 字符列中的任何单一字符 |
[^abcd] | 不在字符列中的任何单一字符 |
join
- JOIN(INNER JOIN): 如果表中有至少一个匹配,则返回行;
- LEFT JOIN: 返回左表的所有行,右表没有匹配的就补null;左表2条,右表3条,按id连接,则一共会有2条
- RIGHT JOIN: 返回右表的所有行,左表没有匹配的就补null;左表2条,右表3条,按id连接,则一共会有3条
- FULL JOIN: 笛卡尔积,左表2条,右表3条,则一共2*3=6条
索引
在表中创建索引,以便更加快速高效地查询数据。
用户无法看到索引,它们只能被用来加速搜索/查询。
**注释:**更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。
CREATE INDEX index_name ON table_name (column_name)
CREATE DATABASE 用于创建数据库 :CREATE DATABASE database_name
CREATE TABLE 语句用于创建数据库中的表
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)
PRIMARY KEY 约束唯一标识数据库表中的每条记录。
主键必须包含唯一的值。
主键列不能包含 NULL 值。
每个表都应该有一个主键,并且每个表只能有一个主键。
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (Id_P)
)
UNIQUE 约束唯一标识数据库表中的每条记录。
UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
PRIMARY KEY 拥有自动定义的 UNIQUE 约束。
请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (Id_P)
)
FOREIGN KEY 约束: 一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
CREATE TABLE Orders
(
Id_O int NOT NULL,
OrderNo int NOT NULL,
Id_P int,
PRIMARY KEY (Id_O),
FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
)
CHECK 约束用于限制列中的值的范围。
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (Id_P>0)
)
DEFAULT 约束用于向列中插入默认值。
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT 'Sandnes'
)
**DROP **可以轻松地删除索引、表和数据库。
ALTER TABLE table_name DROP INDEX index_name
DROP TABLE 语句用于删除表(表的结构、属性以及索引也会被删除):DROP TABLE 表名称
DROP DATABASE 语句用于删除数据库 : DROP DATABASE 数据库名称
TRUNCATE TABLE 仅仅删除表格中的数据,但并不删除表本身: TRUNCATE TABLE 表名称
ALTER TABLE 语句用于在已有的表中添加、修改或删除列。
#表中添加列
ALTER TABLE table_name
ADD column_name datatype
#表中删除列
ALTER TABLE table_name
DROP COLUMN column_name
#改变表中列的数据类型
ALTER TABLE table_name
ALTER COLUMN column_name datatype
后续会更新sql函数基本语法
来源:CSDN
作者:loveysuxin
链接:https://blog.csdn.net/LOVEYSUXIN/article/details/104680229