SQL练习笔记

环境搭建

  1. 使用Docker搭建mysql5.6练习环境
$ docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=passward --name=sql mysql:5.6
  1. 链接工具
    SQLyog

  2. 教程
    W3C school

基础教程

语法

数据库表

一个数据库由多个构成,表中有数据记录

SQL 语句

SQL语句对大小写并不敏感

SELECT LastName FROM Persons

SQL INSERT语句

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会向表中插入一下练习数据

idLastNameFirstNameAddressCity
100AmberAAABig StreetXi’an
28CarterThomasChangan StreetBeijing
27BushGeorgeFifth AvenueNew York
26AdamsJohnOxford StreetLondon

SQL SELECT 语句

SELECT 语句用于从表中选取数据。

语法
SELECT col_name FROM table_name
SELECT * FROM table_name
用例及结果

选取Person中,所有的LastName,FirstName字段

SELECT LastName,FirstName FROM Persons

返回数据集如下:

LastNameFirstName
AdamsJohn
BushGeorge
CarterThomas
AmberAAA

选取所有的表中字段

SELECT * FROM person

返回数据集如下:

idLastNameFirstNameAddressCity
100AmberAAABig StreetXi’an
28CarterThomasChangan StreetBeijing
27BushGeorgeFifth AvenueNew York
26AdamsJohnOxford StreetLondon

SQL DISTINCT 语句

在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(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

SQL WHERE 子句

语法
SELECT col_name FROM table_name WHERE 列 运算符 值

下面的运算符可在 WHERE 子句中使用:

操作符描述
=等于
<>不等于
>大于
<小于
>=大于等于
<=小于等于
BETWEEN在某个范围内
LIKE搜索某种模式
使用 WHERE 子句

查询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 运算符

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
选取名字为Amber,并且id小于10的数据

SELECT * FROM person WHERE LastName='Amber' AND id<100

或关系

SELECT * FROM person WHERE LastName='Amber' OR id>100

SQL ORDER BY 子句

按照LastName的字母顺序排列

SELECT * FROM person ORDER BY lastname

按照LastName的字母逆顺序排列,相同的再按照id的逆顺序排列

SELECT * FROM person ORDER BY lastname DESC, id DESC

SQL UPDATE

语法
UPDATE table_name SET cal_name = new_value WHERE 列名称 = 某值
实例

person表中,查找到lastNameAmber的数据,并全部将lastName改为Baber

UPDATE person SET lastName='Bmber' WHERE lastName='Amber'

person表中,查找到id100的数据,并全部将lastName改为Cmber,firstName改为CCC

UPDATE person SET lastName='Cmber', firstName='CCC' WHERE id=101

person表中,查找到id100的数据,并全部将lastName改为Amber

UPDATE person SET lastName='Amber' WHERE id=100

DELETE 语句

DELETE 语句用于删除表中的行。

语法
DELETE FROM person where 列名称 =
实例

删除person表中id为101的数据

DELETE FROM person where id=101
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值