SQL基础
重要事项:SQL对大小写不敏感
分号:
分号是在数据库系统中分隔每条SQL语句的标准方法,这样就可以在对服务器的相同请求中执行一条以上的语句。如果您使用的是MS Access 和SQL Server2000,则不必在每条SQL语句之后使用分号,不过某些数据库软件要求必须使用分号。
SQL DML和DDL
查询和更新指令构成了SQL的DML部分:
SELECT: 从数据表中获取数据
UPDATE: 更新数据库表中的数据
DELETE: 从数据库表中删除数据
INSERT INTO: 向数据库表中插入数据
SQL的数据定义语言DDL部分使我们能够有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表之间的约束。
CREATE DATABASE: 创建新数据库
ALTER DATABASE: 修改数据库
CREATE TABLE: 创建新表
ALTER TABLE: 变更(改变)数据库表
DROP TABLE: 删除表
CREATE INDEX: 创建索引(搜索键)
DROP INDEX: 删除索引
SQL SELECT
由SQL查询程序获得的结果被存放在一个结果集中。SELECT 列名称 FROM 表名称 以及 SELECT * FROM 表名称;例如:1,获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表);SELECT LastName,FirstName FROM Persons;2,从“Persons”表中选取所有的列,请使用*取代列的名称;SELECT * FROM Persons。
SQL SELECT DISTINCT
在表中,可能会包含重复值,不过,有时您也许仅仅希望列出不同的值。关键词distinct用于返回唯一不同的值。 语法:SELECT DISTINCT 列名称 FRON 表名称
SQL WHERE
WHERE子句用于规定选择的标准,有条件的从表中选取数据。语法:SELECT 列名称 FRON 表名称 WHERE 列 运算符 值
操作符 | 描述 |
---|---|
= | 等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
注释:在某些版本中的SQL中,操作符<>可以写为!
SELECT * FROM Persons WHERE City='beijing'
注:条件值周围使用的是单引号,SQL使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。
SQL AND和OR 运算符
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。我们也可以把AND和OR 结合起来(使用圆括号来组成复杂的表达式)
SELECT * FROM Persons WHERE (FirstName='Thomas' ORFirstName='William') AND LastName='Carter
SQL ORDER BY
用于对结果集进行排序;ORDER BY语句用于根据指定的列结果进行排序。ORDER BY 语句默认按照升序对记录进行排序。如果您希望按照降序对记录进行排序,可以使用DESC关键字。
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC
SQL INSERT INTO
INSERT INTO用于向表格中插入新的行。语法: INSERT INTO 表名称 VALUES(值1,值2,...) 或者指定所要插入数据的列 INSERT INTO table_name (l列1,列2,...) VALUES(值1,值2,...)
SQL Update
用于修改表中的数据,语法:UPDATE 表名称 SET 列名称=新值 WHERE 列名称=某值
SQL DELETE
用于删除表中的行,语法: DELETE FROM 表名称 WHERE 列名称=值 删除所有行;可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的: DELETE FROM table_name 或者 DELETE *FROM table_name