- SELECT - 从数据库中提取数据
- SELECT column1, column2, ...
- FROM table_name;
- column代表要选择的字段名称,可以有多个字段;用 * 代表所有字段
SQL SELECT DISTINCT 语句
在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。
DISTINCT 关键词用于返回唯一不同的值。
SQL WHERE 子句
WHERE 子句用于提取那些满足指定条件的记录。
SQL WHERE 语法
SELECT column1, column2, ...
FROM table_name
WHERE condition;
下面的运算符可以在 WHERE 子句中使用:
| 运算符 | 描述 |
|---|---|
| = | 等于 |
| <> | 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 != |
| 大于 | |
| < | 小于 |
| >= | 大于等于 |
| <= | 小于等于 |
| BETWEEN | 在某个范围内 |
| LIKE | 搜索某种模式 |
| IN | 指定针对某个列的多个可能值 |
AND和OR 在sql语句中等同于&& 和 ||
ORDER BY语法
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
ASC:表示升序排列
DESC:表示降序排列
SELECT TOP 子句用于规定要返回的记录的数目。
SELECT TOP 子句对于拥有数千条记录的大型表来说,是非常有用的。
MySQL 语法
SELECT column_name(s)
FROM table_name
LIMIT number;
LIKE操作
SELECT column1, column2, ...
FROM table_name
WHERE column LIKE pattern;
其中pattern为搜索模式
在 SQL 中,通配符与 SQL LIKE 操作符一起使用。
SQL 通配符用于搜索表中的数据。
在 SQL 中,可使用以下通配符:
| 通配符 | 描述 |
|---|---|
| % | 替代 0 个或多个字符 |
| _ | 替代一个字符 |
| [charlist] | 字符列中的任何单一字符 |
| [^charlist]或[!charlist] | 不在字符列中的任何单一字符 |
MySQL 中使用 REGEXP 或 NOT REGEXP 运算符 (或 RLIKE 和 NOT RLIKE) 来操作正则表达式。
IN 操作符允许您在 WHERE 子句中规定多个值
SELECT column1, column2, ...
FROM table_name
WHERE column IN (value1, value2, ...);
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
SQL BETWEEN 语法
SELECT column1, column2, ...
FROM table_name
WHERE column BETWEEN value1 AND value2;
如需显示不在上面实例范围内的网站,请使用 NOT BETWEEN
SQL 别名
使用AS AS前为原始名字,AS后为别名
SELECT w.name, w.url, a.count, a.date
FROM Websites AS w, access_log AS a
WHERE a.site_id=w.id and w.name="菜鸟教程";
如果不使用AS则
SELECT Websites.name, Websites.url, access_log.count, access_log.date
FROM Websites, access_log
WHERE Websites.id=access_log.site_id and Websites.name="菜鸟教程";
在下面的情况下,使用别名很有用:
-
在查询中涉及超过一个表
-
在查询中使用了函数
-
列名称很长或者可读性差
-
需要把两个列或者多个列结合在一起
-
UPDATE - 更新数据库中的数据
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
注意!!!不加WHERE就会导致所有的数据都被修改
DELETE - 从数据库中删除数据
DELETE FROM table_name
WHERE condition;
如果没有WHERE,自会删除表中所有行,但会保存表的结构、属性、索引不变
- INSERT INTO - 向数据库中插入新数据 INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
其中列名可有可无
- CREATE DATABASE - 创建新数据库
- ALTER DATABASE - 修改数据库
- CREATE TABLE - 创建新表
- ALTER TABLE - 变更(改变)数据库表
- DROP TABLE - 删除表
- CREATE INDEX - 创建索引(搜索键)
- DROP INDEX - 删除索引