SQL基本语句
以下是在RUNOOB.com学习SQL语句所做笔记。[SQL菜鸟教程](https://www.runoob.com/sql/sql-tutorial.html)
一些注意事项
- SQL 对大小写不敏感
- 条件语句等式中文本使用单引号,数值不需要
WHERE country='CN' WHERE id=1
- 逻辑运算优先级 NOT AND OR
- 正则表达式 :%表示多个字符,_表示一个字符
一些重要的SQL命令
- USE - 选择数据库
- SELECT - 从数据库中提取数据
- UPDATE - 更新数据库中的数据
- DELETE - 从数据库中删除数据
- INSERT INTO - 向数据库中插入新数据
- CREATE DATABASE - 创建新数据库
- ALTER DATABASE - 修改数据库
- CREATE TABLE - 创建新表
- ALTER TABLE - 变更(改变)数据库表
- DROP TABLE - 删除表
- CREATE INDEX -创建索引(搜索键)
- DROP INDEX - 删除索引
SELEC语句
返回表中列表名所在列的值
SELECT 列表名,列表名 FROM 表名 ;
返回表中所有值
SELECT * FROM 表名 ;
返回表中列表名所在列的不同值
SELSCT DISTINCT column_name,column_name FROM table_name;
返回表中列表名所在列的满足条件的值
SELECT column_name,column_name FROM table_name WHERE column_name operator value;
WHERE语句
逻辑运算and,or
返回表Table中满足B<10并且C>30的值
SELECT * FROM Table1 WHERE B<10 AND C>30;
返回表Table中满足B<10或者C>30的值
SELECT * FROM Table1 WHERE B<10 OR C>30;
返回表Table中B列为空的值
Select * from Table1 where B is null;
返回表Table中满足10<B<30的值
Select * from Table1 where B between 10 and 30;
返回表Table中满足B=10,20,30的值
Select * from Table1 where B in (10,20,30);
返回Table表中 B列中有 M 开头的值
Select * from Table1 where B like 'M%';
Order语句
返回Table表中的值按B 列排序,默认升序排列
SELECT * FROM Table1 ORDER BY B;
降序排列加DESC
SELECT * FROM Table1 ORDER BY B DESC;
ORDER BY 多列的时候,先按照第一个column name排序,在按照第二个column name排序;如上述教程最后一个例子:
- 1)先将country值这一列排序,同为CN的排前面,同属USA的排后面;
- 2)然后在同属CN的这些多行数据中,再根据alexa值的大小排列。
Insert语句
在表中插入一个新行,无需指定要插入数据的列名,只需提供被插入的值即可:
INSERT INTO table_name VALUES (value1,value2,value3,...);
在表中插入一个新行,需要指定列名及被插入的值:
INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);
Update语句
更新(修改)表中已存在的记录(WHERE省略更新所有)
UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;
Delete语句
删除表中的行
DELETE FROM table_name WHERE some_column=some_value;