SQL:用于访问和处理数据库的标准计算机语言
常见的数据库有 Oracle,Sybase,SQL Server
1.SQL的作用
面向数据库执行查询,从数据库中取出数据,更新数据,删除数据。创建新的数据库,在数据库中创建表,创建存储过程,创建视图,设置表,存储过程,视图的权限
SQL对大小写不敏感
2.SQL分为数据操作语言和数据定义语言
查询和更新指令构成了 SQL 的 DML 部分:
SELECT/UPDATE/DELETE/INSERT INTO
**SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。**我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
CREATE/ALTER DATABASE创建新数据库/修改数据库
CREATE/ALTER/DROP TABLE 创建新表,变更数据库表
CREATE/DROP INDEX 创建索引(搜索键)/删除索引
sql select
从表中选取数据然后存储在结果表中
sql xx from 表名称
如果选取的内容有多项,可以用逗号隔开
select * from 表
星号(*)是选取所有列的快捷方式
sql select distinct
当表中有重复的值的时候,用于返回唯一不同的值
select distinct 列名称 from 表名称
sql where
where是子句,用于规定选择的标准,如果需要有条件的从表中选取数据,则将where子句添加到select语句中
select 列名称 from 表名称 where 列 运算符 选择值
如
select * from persons where city='beijing'
SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号
sql and和or 运算符
and 和 or 运算符用于基于一个以上的条件对记录进行过滤,and 和 or可以在where子句中把两个或多个条件结合起来进行选择,和以往理解的一样,and 表示两个条件都满足,而or表示两者其一满足就行
SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'
and和or可以用圆括号来组成复杂的表达式
SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')
AND LastName='Carter'
sql order by子句
order by子句用于对结果集进行排序
默认按照升序对结果集进行排序,即ASC关键字,如果需要降序则使用DESC关键字,decs关键字写在选择条件的后面
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC
sql insert into
用于向表格中插入新的行,当然也可以指定插入数据的列
INSERT INTO 表名称 VALUES (值1, 值2,....)
插入新的行
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
在指定的列中插入数据
sql update
用于修改表中的数据
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
还可以更新某一行的若干列
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'
WHERE LastName = 'Wilson'
sql delete
用于删除表中的行
DELETE FROM 表名称 WHERE 列名称 = 值
注意可以在不删除表的情况下删除所有行,此时行都被删除,但是表的结构,索引和属性都还在
DELETE FROM table_name