什么是SQL语言?
SQL是用于访问和处理数据库的标准计算机语言。
SQL:是指结构化查询语言,是我们有能力访问数据库。
SQL能做什么呢?
可以面向数据库执行查询,可以从数据库中取回数据,插入新的数据,可以从数据库中删除记录,也可以创建数据库,在数据库中创建新的表,存储过程,视图等。
一个数据库通常包含一个或者多个表,每个表由一个名字标示(例如客户,订单等),表包含带有数据的记录(行)。
SQL对大小写不敏感!!!
SQL可以分成两部分:数据操作语言(DML)和数据定义语言(DDL)。
DML部分主要是:
主要操作的是数据。
select-从数据库表中获取数据。
update-更新数据表中的数据。
delete-从数据库表中删除数据。
insert into-向数据库表中插入数据。
DDL部分主要是:
我们有能力创建和删除表格,我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。重要的DDL语句如下:
create database-创建数据库
alter database-修改数据库
create table-创建新表
alter table-改变表
drop table-删除表
create index-创建索引
drop index-删除索引
------------------------------------------------------------------------------------------------------------------------------------------------------
select语句。
主要用于从表中读取数据,结果被存储在一个结果集中。
语法:select 列名称 from 表名称/select * from 表名称(*代表所有的列)
select distinct语句
在表中,可能会包含重复值,不过有的时候,我们仅仅想列出不同的值,关键词distinct用于返回唯一不同的值。
语法如下:
select distinct 列名称 from 表名称
where 语句
如需要有条件的从表中选取数据,可将where子句添加到select语句中。
语法如下:
select 列名称 from 表名称 where 列 运算符 值
运算符包括:=,<>(不等于),>,<,>=,<=,between(在某个范围内),like(搜索某种模式)
例子:select * from person where city=‘shenzhen’,文本值使用单引号哦,数值就不要使用引号了。
运算符还有 and 和or,用于基于一个以上的条件对记录进行过滤。在where子句中,把两个或者多个条件结合起来,如果第一个条件和第二个条件都成立,则and运算符显示记录,两个条件中只要有一个成立,那么就是使用or运算符。
order by语句
用于对结果集进行排序,默认的是按照升序对记录进行排序。如果你希望是对记录进行降序排序,可以使用desc关键字。
例子:以字母顺序显示公司名称:
select company,order number from orders order by company (company desc)。
以逆字母顺序显示公司名称,并以数字顺序显示顺序号
select company ,number from orders order by company desc,ordernumber asc.
insert into语句
用于向表中插入新的行。
语法如下:
insert into 表名称 values (值1,值2,...)
也可以指定所要插入数据的列:
insert into table_name (列1,列2)values(值1,值2)
update语句
用于修改表中的数据
语法如下:
update 表名称 set 列名称=新值 where 列名称=某值
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'
delete语句
用于删除表中的行
语法: delete from 表名称 where 列名称=某值
top子句
用于规定要返回的记录的数目,对于拥有数千条的大型表来说,top子句非常的有用。
语法如下:select top number | percent column_name from table_name
like 操作符
like操作符用于在where子句中搜索列中的指定模式
语法如下:select column from table where column like pattern
现在,我们希望从上面的 "Persons" 表中选取居住在以 "N" 开始的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons WHERE City LIKE 'N%'
提示:"%" 可用于定义通配符(模式中缺少的字母)。结果集:
例子 2
接下来,我们希望从 "Persons" 表中选取居住在以 "g" 结尾的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons WHERE City LIKE '%g'
例子 3
接下来,我们希望从 "Persons" 表中选取居住在包含 "lon" 的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons WHERE City LIKE '%lon%'
例子 4
通过使用 NOT 关键字,我们可以从 "Persons" 表中选取居住在不包含 "lon" 的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons WHERE City NOT LIKE '%lon%'
SQL通配符
在搜索数据库中的数据时候,SQL通配符可以代替一个或着多个字符,但是 通配符必须与like运算符一起使用。