一、重要的SQL命令
select:从数据库中提取数据
update:更新数据库中的数据
delete:删除数据库中的数据
insert into:插入新数据
create database:创建新数据库
alter database:修改数据库
create table:创建表
alter table:修改表
drop table:删除表
create index:创建索引(搜索键)
drop index:删除索引
二、SQL语句
1、SELECT——从 table_name 表中获取 column_name 列
SELECT column_name,column_name FROM table_name;
例:SELECT name,country FROM websites;【从websites表中获取name,country列】
SELECT *FROM websites【获取websites的所有列】
2、SELECT DISTINCT——从 table_name 表中获取 column_name 列中不同的值
SELECT DISTINCT column_name, column_name FROM table_name;
例:SELECT DISTINCT name FROM websites;【从websites表中获取name列不同的值】
3、WHERE——提取满足条件的记录
SELECT column_name, column_name FROM table_name WHERE column_name operator value;
例:SELECT * FROM websites WHERE country=‘CN’(如果是数值则不用单引号);【从websites表的country列中找出CN的行】
WHERE中的运算符
= 等于
<> 不等于(在SQL的一些版本中,被写成 !=)
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围
LIKE 搜索某种模式
IN 指定某个列的多个可能值
4、AND & OR 运算符
例1:SELECT * FROM websites WHERE country = ‘CN’ AND alexa > 50;【从websites表中选取国家为CN且alexa排名大于50的所有行】
例2:SELECT * FROM websites WHERE country = ‘USA’ OR country = ‘CN’;【从websites表中选取国家为USA或者CN的所有行】
例3:SELECT * FROM websites WHERE alexa > 15 AND (country = ‘CN‘ OR country = ‘USA‘);【从websites表中选取alexa排名大于15并且国家为‘CN’ 或者‘USA’的所有行】
5、ORDER BY——对结果集按照一个列或者多个列进行排序(升序)
SELECT column_name, column_name FROM table_name ORDER BY column_name, column_name ASC|DESC(降序)
例1:SELECT * FROM websies ORDER BY alexa;【从websites表中选取所有网站,并按照alexa列升序排序】
例2:SELECT * FROM websites ORDER BY alexa DESC;【从websites表中选取所有网站,并按照alexa列降序排序】
例3:SELECT * FROM websites ORDER BY alexa, country;【从 "Websites" 表中选取所有网站,并按照 "country" 和 "alexa" 列排序】
6、insert into——向表中插入新纪录
i:无需指定要插入的数据的列名,只需要提供被插入的值即可:
insert into table_name value (value1, value2, value3,...);
例:INSERT INTO Websites (name, url, alexa, country) VALUES (‘百度‘, ‘https://www.baidu.com/‘, ‘4‘, CN‘);【向 "Websites" 表中插入一个新行】
ii:需要指定列名以及被插入的值:
insert into table_name(column1, column2, column3,...) value (value1, value2, value3, ...);
例:INSERT INTO Websites (name, url, country) VALUES (‘*‘, ‘http://*.com/‘, ‘IND‘);【插入一个新行,但是只在 "name"、"url" 和 "country" 列插入数据(id 字段会自动更新)】
7、update——更新表中已存在的记录
updata tabele_name set column1 = value1, column2 = value2,... where some_column = some_value;
WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!
例:UPDATE Websites SET alexa=‘5000‘, country=‘USA‘ WHERE name=‘菜鸟教程‘;【把 "菜鸟教程" 的 alexa 排名更新为 5000,country 改为 USA】
8、 delete——删除表中的行
DELETE *FROM table_name WHERE some_column=some_value;
WHERE 子句规定哪条记录或者哪些记录需要删除。如果您省略了 WHERE 子句,所有的记录都将被删除!
例:DELETE FROM Websites WHERE name=‘百度‘ AND country=‘CN‘;【从 "Websites" 表中删除网站名为 "百度" 且国家为 CN 的网站】
三、SQL高级教程