SQL学习-低阶

sql是个结构化查询语言

说人话就是,它用各种语言命令去操作(多是查询)网站的数据库中的数据。

1.用sql做查询,需要先有一个能显示网站数据的网站

RDBMS 数据库程序(比如 MS Access、SQL Server、MySQL)

使用服务器端脚本语言,比如 PHP 或 ASP

使用 SQL 来获取您想要的数据

使用 HTML / CSS

安装好数据库程序后,要访问数据表?

sql的语言命令对大小写不敏感,需要在每句语句后加分号

2.SQL重要的操作有

select:从数据库中提取数据

update:更新数据库中的数据

delete:从数据库中删除数据

insert into:从数据库中删除数据

create database:创建新数据库

alter database:修改数据库

create table:创建新表

alter table:变更(改变)数据库表

drop table:删除表

create index:创建索引(搜索键)

drop index:删除索引

3. select语句:选择数据

SELECT column_name,column_name

FROM table_name;

例如:websites数据表

SELECT name,country FROM Websites;

选择的是数据表websites中name,country两列的数据

如果选择表中所有列的数据:

SELECT * FROM Websites;

4.select语句去除重复值

SELECT DISTINCT column_name,column_name

FROM table_name;

例如:

SELECT DISTINCT country FROM Websites;

5.where语句,用于过滤功能

SELECT column_name,column_name

FROM table_name

WHERE column_name operator value;

例如:

SELECT * FROM Websites WHERE country='CN';



文本字段 vs. 数值字段

SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。

在上个实例中 'CN' 文本字段使用了单引号。

如果是数值字段,不要使用引号。

例如:

SELECT * FROM Websites WHERE id=1;

运算符描述

=等于

<>不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=

>大于

<小于

>=大于等于

<=小于等于

BETWEEN在某个范围内

LIKE搜索某种模式

IN指定针对某个列的多个可能值

SQL学习-低阶_第1张图片


SQL学习-低阶_第2张图片

5.SQL AND & OR 运算符

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

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

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

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

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

SELECT * FROM WebsitesWHERE country='USA'OR country='CN';

结合And&OR

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

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

6.ORDER BY 关键字

ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。

ORDER BY 关键字默认按照升序对记录进行排序。

如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。

SQL ORDER BY 语法

SELECT column_name,column_name

FROM table_name

ORDER BY column_name,column_name ASC|DESC;

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

SELECT * FROM Websites ORDER BY alexa;

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

SELECT * FROM Websites ORDER BY alexa DESC

从 "Websites" 表中选取所有网站,并按照 "country" 和 "alexa" 列排序,先按照country列排序后,alexa再按照country列来排序

SELECT * FROM Websites ORDER BY country,alexa;

7.SQL INSERT INTO 语句插入新记录

INSERT INTO 语句用于向表中插入新记录,可以有两种编写形式

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

INSERT INTO table_name

VALUES (value1,value2,value3,...);

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

INSERT INTO table_name (column1,column2,column3,...)

VALUES (value1,value2,value3,...);

例如:要向 "Websites" 表中插入一个新行

INSERT INTO Websites (name, url, alexa, country)

VALUES ('百度','https://www.baidu.com/','4','CN');

在指定的列插入数据,只在 "name"、"url" 和 "country" 列插入数据(id 字段会自动更新),空余的alexa列会自动填充值0

INSERT INTO Websites (name, url, country)

VALUES ('stackoverflow', 'http://stackoverflow.com/', 'IND')

7.SQL UPDATE 语句更新表中的记录

UPDATE 语句用于更新表中已存在的记录,SQL UPDATE 语法

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 语句用于删除表中的行,SQL DELETE 语法

DELETE FROM table_name

WHERE some_column=some_value;

例如:要从 "Websites" 表中删除网站名为 "百度" 且国家为 CN 的网站

DELETE FROM Websites

WHERE name='百度' AND country='CN';

你可能感兴趣的:(SQL学习-低阶)