$ docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=passward --name=sql mysql:5.6
链接工具
SQLyog
教程
W3C school
一个数据库由多个表构成,表中有数据记录行。
SQL语句对大小写并不敏感
SELECT LastName FROM Persons
INSERT语句用来向表中插入数据。
INSERT INTO table_name VALUES('value1', 'value2', 'value3', 'value5')
INSERT INTO table_name (col1, col2, col3. col4, col5) VALUES('value1', 'value2', 'value3', 'value5')
INSERT INTO person (lastName, FirstName, Address, City) VALUES('Adams','John','Oxford Street' ,'London')
INSERT INTO person (lastName, FirstName, Address, City) VALUES('Bush','George','Fifth Avenue' ,'New York')
INSERT INTO person (lastName, FirstName, Address, City) VALUES('Carter','Thomas','Changan Street' ,'Beijing')
INSERT INTO person VALUES('100','Amber','AAA','Big Street' ,'Xi\'an')
执行以上SQL会向表中插入一下练习数据
id | LastName | FirstName | Address | City |
---|---|---|---|---|
100 | Amber | AAA | Big Street | Xi’an |
28 | Carter | Thomas | Changan Street | Beijing |
27 | Bush | George | Fifth Avenue | New York |
26 | Adams | John | Oxford Street | London |
SELECT 语句用于从表中选取数据。
SELECT col_name FROM table_name
SELECT * FROM table_name
选取Person中,所有的LastName
,FirstName
字段
SELECT LastName,FirstName FROM Persons
返回数据集如下:
LastName | FirstName |
---|---|
Adams | John |
Bush | George |
Carter | Thomas |
Amber | AAA |
选取所有的表中字段
SELECT * FROM person
返回数据集如下:
id | LastName | FirstName | Address | City |
---|---|---|---|---|
100 | Amber | AAA | Big Street | Xi’an |
28 | Carter | Thomas | Changan Street | Beijing |
27 | Bush | George | Fifth Avenue | New York |
26 | Adams | John | Oxford Street | London |
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
SELECT DISTINCT col_name from table_name
继续向person表中添加一条重复数据
INSERT INTO person VALUES ('10', 'Amber', 'AAA', 'Big Street', 'Xi\'an')
使用普通查询
SELECT LastName,FirstName FROM Persons
返回
LastName |
---|
Adams |
Bush |
Carter |
Amber |
Amber |
加入DISTINCT
进行去重查询:
SELECT DISTINCT LastName FROM Persons
返回
LastName |
---|
Adams |
Bush |
Carter |
Amber |
SELECT col_name FROM table_name WHERE 列 运算符 值
下面的运算符可在 WHERE 子句中使用:
操作符 | 描述 |
---|---|
= | 等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
查询person表中住在beijing的人
SELECT * FROM person where City='beijing'
查询person表中不住在beijing的人
SELECT * FROM person where City<>'beijing'
查询person表中id大于100的人
SELECT * FROM person where id>100
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
选取名字为Amber,并且id小于10的数据
SELECT * FROM person WHERE LastName='Amber' AND id<100
或关系
SELECT * FROM person WHERE LastName='Amber' OR id>100
按照LastName
的字母顺序排列
SELECT * FROM person ORDER BY lastname
按照LastName
的字母逆顺序排列,相同的再按照id的逆顺序排列
SELECT * FROM person ORDER BY lastname DESC, id DESC
UPDATE table_name SET cal_name = new_value WHERE 列名称 = 某值
在person
表中,查找到lastName
为Amber
的数据,并全部将lastName
改为Baber
UPDATE person SET lastName='Bmber' WHERE lastName='Amber'
在person
表中,查找到id
为100
的数据,并全部将lastName
改为Cmber
,firstName
改为CCC
UPDATE person SET lastName='Cmber', firstName='CCC' WHERE id=101
在person
表中,查找到id
为100
的数据,并全部将lastName
改为Amber
UPDATE person SET lastName='Amber' WHERE id=100
DELETE 语句用于删除表中的行。
DELETE FROM person where 列名称 = 值
删除person
表中id
为101的数据
DELETE FROM person where id=101