终于有时间继续玩阿里的数据挖掘比赛,第二赛季限定工具,不得不先重拾一下数据库。以下笔记总结自网络教程。
SQL简介
- SQL指结构化查询语言
- SQL是一种ANSI的标准计算机语言,存在不同的版本,但不同版本都支持一些共同的关键词。
SQL 语法
- 一个数据库通常包含一个或多个表。
- SQL 对大小写不敏感
某些数据库系统要求在每条 SQL 命令的末端使用分号
SQL DML 和 DDL
把 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 - 删除索引
SELECT 语句
SELECT column_name1,column_name2 FROM table_name
SELECT * FROM table_name
SELECT DISTINCT 语句
关键词 DISTINCT 用于返回唯一不同的值。
SELECT DISTINCT column_name FROM table_name
WHERE 子句
如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
AND & OR 运算符
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
SELECT * FROM table_name WHERE column_name1='XXX' AND column_name2='XXX'
SELECT * FROM table_name WHERE (column_name1='XXX' OR column_name2='XXX') AND column_name3='XXX'
ORDER BY 子句
ORDER BY 语句用于根据指定的列对结果集进行排序,默认按照升序对记录进行排序,如果希望按照降序对记录进行排序,可以使用 DESC 关键字。
SELECT column_name1, column_name2 FROM table_name ORDER BY column_name1 [DESC]
INSERT INTO 语句
INSERT INTO 语句用于向表格中插入新的行
INSERT INTO 表名称 VALUES (值1, 值2,....)
也可以只在指定列插入数据,没插入数据的列留空:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
UPDATE 语句
Update 语句用于修改表中的数据。
UPDATE 表名称 SET 列名称1 = 新值1,列名称2 = 新值2 WHERE 列名称 = 某值