SQL (Structured Query Language),即结构化查询语言。
SQL本身是一种访问数据库的ANSI标准,即是用来让我们访问和操作数据库的。而SQL 语句,就是用于取回和更新数据库中的数据的具体实现方式。其中,数据库又分为了多种的数据库程序系统。当然,每种数据库程序系统除了能和ANSI进行兼容外,每个数据库还会有自己的一些私有扩展语句。
一般情况下,SQL 对大小写不敏感!!!(这个是相对的,有些数据库可以设置ci、cs)
SQL语句后的分号,可要可不要。但,如果想一次运行多条语句就需要分号。
SQL的注释:
1.单行注释:--
2.多行注释:/*.....*/
SQL又分为数据操作语言 (DML) 和 数据定义语言 (DDL)。
DML(Data Manipulation Language),主要就是操作具体的数据。包括SELECT、DELETE、UPDATE、INSERT INTO。
DDL(Data Definition Language),就是用来操作数据库、表、索引。包括了对数据库的操作:CREATE DATABASE、ALTER DATABASE;以及对表的操作:CREATE TABLE、ALTER TABLE、DROP TABLE;和对索引的操作:CREATE INDEX、DROP INDEX。
- DML语句
1.SELECT
SELECT * FROM 表 --查询表内的所有数据
SELECT 列 FROM 表 --查询表内的某一个单独的数据
SELECT LastName,FirstName FROM user
列出不同的值:distinct
SELECT DISTINCT name FROM user
条件查询
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
操作符 | 描述 |
---|---|
= | 等于 |
<> 或者 != | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN ... AND | 在某个范围内 |
LIKE | 模糊查询 |
在where语句中,值 这一项,是 文本则要加引号(一般单引号,双引号需要看数据库程序支持与否)。若是 数字则直接写值,不用加引号。
SELECT * FROM Persons WHERE FirstName='Bush' AND Year>1965
运算符AND OR
SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William') AND LastName='Carter'
ORDER BY
默认使用 升序 排列:asc(ascend)。要想使用 降序 排列:desc(descend)。
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC
2.INSERT INTO
用于向数据库插入新的行。分为两种:插入一整行,插入部分列。
INSERT INTO 表名称 VALUES (值1, 值2,....)
INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing') --插入新的一行数据
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees') --只插入部分数据
3.UPDATE
修改数据。分为两种:修改单个和修改多个。
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' --修改单个数据
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson' --修改多个数据
4.DELETE
删除数据。分为删除一行、删除所有行。
DELETE FROM 表名称 WHERE 列名称 = 值 --删除单独的一行
DELETE FROM Person WHERE LastName = 'Wilson'
DELETE FROM table_name 或者 DELETE * FROM table_name --删除所有的行,仍然保留表结构。
以上,即是SQL语句的初步总结。关于数据库、表、索引的内容,将在一下篇进行详解。