1、select语句
select t.id,t.name form ttt t; --t为表的别名,也可以写作form ttt as t;
select * form ttt; --*表示所有列
select distinct * from ttt --distinct表示除去结果中的重复记录
select * from ttt
where t.id>10 --where表示条件
order by t.id ASC,t.name DESC; --order by指定按照哪些字段排序,ASC为升序,DESC为降序
select t.name as '姓名' from ttt; --as更改查询结果标题 2、 可用的where比较条件有:
等于:=、=、
包含:in、not in
范围:between、not between
匹配测试:like、not like
Null测试:is null、is
布尔链接:and、or、not 3、通配符:在where子句中,通配符与like条件一起使用。在Oracle中:
%(百分号)用来表示任意数量的字符,或者可能根本没有字符。
_(下划线)表示确切的未知字符。
?(问号)用来表示确切的未知字符。
#(井号)用来表示确切的阿拉伯数字,0到9。
[a-d](方括号)用来表示字符范围,在这里是从a到d。
(方括号包含通配符)表示字符本身,没有通配符的性质。 第三章:where子句中的符合条件
1、标点符号
名字中的空格:尽量避免他们,可以用下划线代替空格
逗号:分隔列表项。
单引号:在Oracle中,应该只使用单引号将文本和字符和日期括起来,不能使用引号(包括单双引号)将数字括起来。
双引号:在Oracle中,单双引号含义不同。双引号被用来将包含特定字符或者空格的列别名括起来。双引号还被用来将文本放入日期格式。
select first_name as "first name"
from l_employees
order by "first name"
#字号:Access使用#字号将数字括起来。
分号:用来结束SQL语句。
保留字:避免使用他们。
撇号:在Oracle中,撇号也可以写成彼此相邻的两个单引号。为了在供应商名字中间查找所有带撇号的供应商名字,可以这样编写代码:
select * from l_suppliers where supplier_name like '%''%'
空白行:Oracle通常不允许SQL语句中有任何的空白行。可以在SQLplus中设置一个选项来允许SQL语句中出现空白行。
&符号:在Oracle中,&符号常用来指出一个变量。例如,&fox是一个变量,稍微有点不同的一种&&fox。每当&fox出现在Oracle脚本中时,都会要求您为它提供一个值。而使用&&fox,您只需要在&&fox第一次出现时为它提供变量值。如果想将&符号作为普通的符号使用,则应该关闭这个特性。要想关闭这个特性,可以运行以下的命令: set define off ,这是一个SQLplus命令,不是一个SQL命令。SQLplus设置了SQL在Oracle中运行的环境。
双竖线:Oracle使用双竖线表示字符串连接函数。
星号:select *意味着选择所有的列,count(*)意味着计算所有的行,表示通配符时,表示0个或任意多个字符。
正斜杠:在Oracle中,用来终止SQL语句。更准确的说,是表示了“运行现在位于缓冲区的SQL代码”。正斜杠也用作分隔项。
多行注释:/*......*/。
不等于:有多种表达方式:!=、^=、、not xxx=yyy、not(xxx=yyy) 第四章:保存结果
1、在新表或者视图中保存结果
1.1、从select语句的结果中创建一个新表
Oracle中:
create table _book as
select * from t_book b
where b.number like '0001'
Access中:
select * from t_book b
into _book
from book
where b.number like '0001'
1.2、从select语句的结果中创建一个新的视图
Oracle中:
create view v_book as
select * from t_book b
where b.number like '0001' 2、表和视图
2.1、表和视图的相似之处
非常相似,一般不区分,常常将表成为基表或者数据表。
2.2、表和视图的不同之处
表直接将数据存储到磁盘中。而视图是将select语句存储到磁盘上,不会存储任何数据。
基本上,表存储数据库中的数据。视图显示已经在表中数据的外观。
表是静态的,而视图是动态的。 3、常见的SQL语句
3.1、删除表
drop table t_book
3.2、删除视图
drop view v_book
3.3、一个视图可以建立在另一个视图之上
create view vv_book as
select * from v_book b
3.4、插入数据
插入一行所有列数据:
insert into t_book
values(777,12,'java类脂');
插入一行部分列数据
insert into t_book (id)
values(23434)
3.5、commit和rollback命令
3.6、添加若干新行到包含select语句的表中
insert into t_book
select b.id,b.kind,b.bookname
from book b
where b.kind !=11
insert into t_book (id,bookname)
select b.id,b.bookname
from book b
where b.kind !=11
3.7、更改已经存在于表中的数据
update t_book t
set t.bookname='哈哈哈哈'
where t.id=19
[注意]:where子句很重要,要是没有,则会更新所有的列
3.8、从表中删除行
delete from t_book
where> 4、在Oracle中,可以通过命令
set autocommit on|off来设定自动发布commit命令。 第五章:通过视图修改数据