https://www.w3cschool.cn/mysql/
MySQL
开始:mysql -u root -p;
列出数据库管理系统的数据库列表:SHOW DATABASES;
使用mysqladmin 创建数据库:mysqladmin -u root -p create W3CSCHOOL;
选择数据库:use W3CSCHOOL;
在Mac终端导入.sql文件:http://www.cnblogs.com/zhengbin/p/4749938.html
"mysql -u root -p
create database name;
use name;
source 『将.sql文件直接拖拽至终端,自动补全其文件目录』
在Mac终端导出.sql文件:
"cd 『打开要将.sql文件生成的文件位置』
mysqldump -u root -p database_name>sql_name.sql"
创建数据表:
创建MySQL数据表需要以下信息:表名、表字段名、定义每个表字段
CREATE TABLE table_name (column_name column_type);
eg:CREATE TABLE w3cschool_tbl(
-> w3cschool_id INT NOT NULL AUTO_INCREMENT,
-> w3cschool_title VARCHAR(100) NOT NULL,
-> w3cschool_author VARCHAR(40) NOT NULL,
-> submission_date DATE,
-> PRIMARY KEY ( w3cschool_id )
-> );
注意:MySQL命令终止符为分号(;)
https://github.com/CyC2018/Interview-Notebook/blob/master/notes/SQL%20语法.md
http://www.w3school.com.cn/sql/index.asp
SQL
SQL语句不区分大小写,但是数据库表名、列名和值是否区分依赖于具体的DBMS 以及配置。
SQL DML 和DDL
可以把SQL 分为两个部分:数据操作语言(DML) 和 数据定义语言(DDL)。
SQL (结构化查询语言)是用于执行查询的语法。但是SQL语言也包含用于更新、插入和删除记录的语法。查询和更新指令构成了SQL 的DML 部分:
- SELECT -从数据库表中获取数据
- UPDATE -更新数据库表中的数据
- DELETE -从数据库表中删除数据
- INSERT INTO -向数据库表中插入数据
SQL的数据定义语言(DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。SQL 中最重要的DDL 语句:
- CREATE DATABASE -创建新数据库
- ALTER DATABASE -修改数据库
- CREATE TABLE -创建新表
- ALTER TABLE -变更(改变)数据库表
- DROP TABLE -删除表
- CREATE INDEX -创建索引(搜索键)
- DROP INDEX -删除索引
SQL SELECT 语法
注意如果有两个以上的表,select from前后列和表的顺序要对应,题目输出的列顺序也要对应
SELECT 列名称 FROM 表名称 #提取某一列
以及
SELECT * FROM 表名称 #提取所有列
SQL SELECT DISTINCT 语句
SELECT DISTINCT 列名称 FROM 表名称 #删去了重复值
Eg:
SELECT DISTINCT
Company FROM Orders
WHERE子句
有条件地从表中选取数据
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
Eg:如果只希望选取居住在城市"Beijing" 中的人,我们需要向SELECT 语句添加WHERE 子句:
SELECT * FROM Persons WHERE City='Beijing'
下面的运算符可在WHERE 子句中使用:
= 等于
<> 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
注释:在某些版本的SQL 中,操作符<> 可以写为!=。
AND和OR 运算符
使用AND 来显示所有姓为"Carter" 并且名为"Thomas" 的人:
SELECT * FROM Persons WHERE FirstName='Thomas' AND
LastName='Carter'
使用OR 来显示所有姓为"Carter" 或者名为"Thomas" 的人:
SELECT * FROM Persons WHERE firstname='Thomas' OR
lastname='Carter'
ORDER BY 语句
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用DESC 关键字。
Eg:
以字母顺序显示公司名称:
SELECT Company, OrderNumber FROM Orders ORDER BY Company
以逆字母顺序显示公司名称:
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC
以逆字母顺序显示公司名称,并以数字顺序显示顺序号:
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC
INSERT INTO 语句
向表格中插入新的行。
INSERT INTO 表名称 VALUES (值1, 值2,....)
Eg:
INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')
指定所要插入数据的列:
INSERT INTO表名称(列1, 列2,...) VALUES (值1, 值2,....)
Eg:
INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')
Update 语句
修改表中的数据。
UPDATE 表名称SET 列名称= 新值WHERE 列名称= 某值
Eg:更新某一行中的若干列。修改地址(address),并添加城市名称(city):
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'
WHERE LastName = 'Wilson'
DELETE语句
删除表中的行。
DELETE FROM 表名称 WHERE 列名称 = 值
删除所有行
DELETE FROM表名称
或者:
DELETE * FROM表名称
TOP & limit子句
TOP子句用于规定要返回的记录的数目。
注释:并非所有的数据库系统都支持TOP 子句。
SQL Server 的语法:
SELECT TOP number|percent 列名称(s) FROM 表名称
Eg:从"Persons" 表中选取头两条记录
SELECT TOP 2
* FROM Persons
MySQL 语法:用limit这个!limit放order后
LIMIT m,n : 表示从第m+1条开始,取n条数据;
LIMIT n :表示从第0条开始,取n条数据,是limit(0,n)的