1 简介
1.1 定义
SQL(结构化查询语言Structured Query Language)是用于访问和操作数据库中的数据的数据库编程语言。
1.2 SQL标准命令
- DDL(数据定义语言):包括创建、更改和删除数据库对象。
CREATE TABLE-- 创建(在数据库中创建新表、表视图或其他对象)
ALTER TABLE-- 更改 (修改现有的数据库对象,如表)
DROP TABLE-- 删除 (删除数据库中的整个表、表或其他对象的视图)
- DML(数据操作语言):数据操纵语言用于检索、插入和修改数据,数据操纵语言是最常见的SQL命令。
INSERT-- 插入 (创建记录)
DELETE-- 删除 (删除记录)
UPDATE-- 修改(修改记录)
SELECT -- 检索 (从一个或多个表检索某些记录)
- CDL(数据操作语言):主要针对权限问题。
GRANT-- 授予权限
REVOKE-- 撤销已授予的权限
1.3 (选择)语法
Customer表- 定义:由数据库中选择数据
//选择Customers表中CustomerName、City 两列
SELECT CustomerName, City FROM Customers;
//选择全部字段用*
SELECT * FROM Customers;
//仅列出每一列的不同值,即相同值只出现一次。
SELECT DISTINCT City FROM Customers;
//列出City列中不同值的数量
SELECT COUNT(DISTINCT City ) FROM Customers;
1.4 SQL WHERE Clause(查询子句)
- 定义:WHERE子句用于提取满足指定标准的记录。
// 选取所有字段中Country='Mexico'的那个,单引号
SELECT * FROM Customers WHERE Country='Mexico';
//选取所有字段中ID = 1那个
SELECT * FROM Customers WHERE CustomerID=1;
//选取所有字段中ID > 1那个
SELECT * FROM Customers WHERE CustomerID>1;
1.5 SQL AND, OR and NOT(与,或不是运算符)
//从这几列中选出满足下列所有条件的数据
SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;
// 从这几列中选出满足下列某个条件的数据
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;
//选出不满足该条件的
SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;
例子如下:
SELECT * FROM Customers
WHERE Country='Germany'
AND City='Berlin';
SELECT * FROM Customers
WHERE City='Berlin' OR City='München';
SELECT * FROM Customers
WHERE NOT Country='Germany';
SELECT * FROM Customers
WHERE Country='Germany'
AND (City='Berlin' OR City='München');
1.6 按关键字排序
//选取全部字段并且按照Country字段升序排序
SELECT * FROM Customers ORDER BY Country;
//选取全部字段并且按照Country字段降序排序
SELECT * FROM Customers ORDER BY Country DESC;
//按两列数组排序
SELECT * FROM Customers
ORDER BY Country, CustomerName;
1.7 SQL INSERT INTO 语句(在表中插入)
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway');
//也可以仅在指定列插入数据
INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway');
注意并不用插入ID,ID是一个会自动递增的数据
1.8 SQL NULL Values(空值)
SELECT column_names
FROM table_name
WHERE column_name IS NULL;
SELECT LastName, FirstName, Address FROM Persons
WHERE Address IS NOT NULL;
1.9 SQL UPDATE 语句(更新表中的记录)
语法:注意不能缺少WHERE否则所以数据都会更新
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
例子:
UPDATE Customers
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;
1.10 SQL Delete 语句(删除表中的记录)
还是要注意不能缺少WHERE
DELETE FROM table_name
WHERE condition;
DELETE FROM Customers
WHERE CustomerName='Alfreds Futterkiste';
//删除所以数据
DELETE FROM table_name;
网友评论