SQL 语句(上)

摘自菜鸟教程

1.SQL SELECT

SELECT语句用于从数据库中选取数据。结果被存储在一个结果表中,称为结果集。

SELECT column_name, column_name FROM table_name;

SELECT * FROM table_name;

其中* 表示从表中选取所有列。

2.SQL SELECT DISTINCT 

SELECT DISTINCT 语句用于返回唯一不同的值。

在表中,一个列可能会包含多个重复值,有时需要返回不同的值。

DISTINCT关键词用于返回唯一不同的值。

SELECT DISTINCT column_name, column_name FROM table_name;

3.SQL WHERE

WHERE子句用于过滤记录。用于提取那些满足指定条件的记录。

SELECT column_name, column_name FROM table_name WHERE column_name operator value;

实例:从 "Websites" 表中选取国家为 "CN" 的所有网站:

SELECT * FROM Websites WHERE country='CN';

4.SQL AND & OR运算符

AND&OR运算符用于基于一个以上的条件对记录进行过滤。

如果第一个条件和第二个条件都成立,则AND运算符显示一条记录;

如果第一个条件和第二个条件中只要有一个成立,则OR运算符显示一条记录。

AND运算符实例

从 "Websites" 表中选取国家为 "CN" 且alexa排名大于 "50" 的所有网站:

SELECT * FROM Websites WHERE country='CN' AND alexa>50;

OR运算符实例

从 "Websites" 表中选取国家为 "USA" 或者 "CN" 的所有客户:

SELECT * FROM Websites WHERE country='USA' OR country='CN';

结合AND&OR

从 "Websites" 表中选取 alexa 排名大于 "15" 且国家为 "CN" 或 "USA" 的所有网站:

SELECT * FROM Websites WHERE alexa >15 AND (country='CN' OR country='USA');

5. SQL ORDER BY 关键字

ORDER BY关键字用于对结果集按照一个列或者多个列进行排序;默认按照升序对记录进行排序。需要按照降序对记录进行排序可以使用DESC关键字。

SELECT column_name, column_name FROM table_name ORDER BY column_name, column_name ASC|DESC

 ORDER BY 实例:从 "Websites" 表中选取所有网站,并按照 "alexa" 列排序:

SELECT * FROM Websites ORDER BY alexa;

 ORDER BY DESC 实例:从 "Websites" 表中选取所有网站,并按照 "alexa" 列降序排序:

SELECT * FROM Websites ORDER BY alexa DESC;

ORDER BY 多列实例: 从 "Websites" 表中选取所有网站,并按照 "country" 和 "alexa" 列排序:

SELECT * FROM Websites ORDER BY country, alexa;

6. SQL INSERT INTO

INSERT INTO 用于向表中插入新纪录。

第一种形式无需指定要插入数据的列名,只需提供被插入的值即可。

INSERT INTO table_name VALUES (value1, value2, value3,...);

第二种形式需要指定列名及被插入的值。 

INSERT INTO table_name (column1, column2,column3,...) VALUES (value1, value2, value3,...);

 INSERT INTO 实例:向 "Websites" 表中插入一个新行:

INSERT INTO Websites (name, url, alexa, country) VALUES ('百度', 'http://www.baidu.com/','4','CN');

在指定的列插入数据:将插入一个新行,但是只在 "name"、"url" 和 "country" 列插入数据(id 字段会自动更新):

INSERT INTO Websites (name, url, country) VALUES ('stackoverflow', 'http://stackoverflow.com','IND');

7.SQL UPDATE

UPDATE语句用于更新表中已存在的记录。如果省略了WHERE语句,则会将整个表中的数据全更新。

UPDATE table_name SET column1=value1, column2=value2,... WHERE some_column=some_value;

 把 "菜鸟教程" 的 alexa 排名更新为 5000,country 改为 USA。

UPDATE Websites SET alexa='5000', country='USA' WHERE name='菜鸟教程';

8.SQL DELETE

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

DELETE FROM table_name WHERE some_column=some_value;

SQL DELETE 实例:从 "Websites" 表中删除网站名为 "Facebook" 且国家为 USA 的网站:

DELETE FROM Websites WHERE name='Facebook' AND country='USA';

删除所有数据:在不删表的情况下,删除表中所有的行,这意味着表结构、属性、索引将保持不变。

DELETE * FROM table_name;

DELETE FROM table_name;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值