`
insertyou
  • 浏览: 865976 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

基本表管理和增删改查

阅读更多

上课内容:
建表和修改表的结构
以查询的方式建表
增删改查之语法和示例
基本查询之DISTINCT、ORDER BY(可使用列号排序)、别名、字符串的连接
基本查询之模糊查询
基本查询中的rownum
基本查询中的is [ not ] null

上课准备/参考:
一、创建和修改表的结构
----1
CREATE TABLE 表名
(
列名 数据类型 ,
列名 数据类型 ,
...
);

----2
alter table 表名 add (字段名 类型,字段名 类型......);

alter table 表名 drop (字段名,字段名......); ——删除一个或多个字段,括号不可省
alter table 表名 drop column 字段名; ——删除一个字段,不能加括号
动手:能否用drop column同时删除多个字段?drop column后的字段可以加括号吗?

alter table 表名 modify (字段名 类型,字段名 类型......);

ALTER TABLE 表名 RENAME TO 新表名;
ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名;

二、以查询的方式建表
----1
create table newlove as select * from scott.dept where 1=2; --COPY结构(无数据)
insert into newlove select * from scott.dept; --批量插入数据
----2
create table newlove1 as select * from scott.dept; --COPY结构和数据

三、增删改查之语法和示例
--增加
insert into 表名[字段1,字段2,字段3,...] values(值1,值2,值3,...);
注意:字段的个数和值的个数必须相同,字段的类型必须与值的类型一一匹配
--删除
delete [from] 表名 [ where 条件 ]
--修改
update 表名 set 字段1=值,字段2=值,... [where 条件]
--查找
select * | 字段1,字段2,... from 表名 where 条件 order by 字段1 [asc | desc],字段2 [asc | desc],...

四、基本查询之DISTINCT、 ORDER BY(可用列号) 、别名、字符串的连接
select 字段1 as 别名1 ,字段2 "别名2" from 表名 where 条件
注意:别名可以不加引号, 也可以加双引号,但是“不能加单引号”,

五、基本查询之模糊查询(%、_)
%--------任意个字符(可以是0个)
_ ---------任意单个字符(不可以是0个,一定是一个)

六、基本查询中的rownum(只能使用: =1, < , <= 不能使用 > 等运算符)
select * from scott.dept where rownum=1;——只能“=1”
思考:能否写rownum=3?
select * from scott.dept where rownum<3;
select * from scott.dept where rownum<=3;

七、基本查询中的is [ not ] null
NULL 意味着“没有输入”。
NULL 通常表明值“未知或未定义”。
区别:零(数字列)、空白(字符列)、无数据输入(NULL)。
例:titles 表中 price 列的空值并不表示该书没有价格,而是指其价格未知或尚未设定

在允许空值的列中输入 NULL 值
1、键入不带引号的 NULL“显式”输入NULL 值
2、如果该列无数据输入并且该列无 DEFAULT 约束,则 “自动输入” NULL 值。

使用 IS NULL 或 IS NOT NULL 子句测试 NULL 值

注意:NULL不能与任何“具体的值”进行逻辑比较,否则将输出 UNKNOWN

例:
SELECT title_id, advance FROM titles
WHERE advance < $5000 OR advance IS NULL
ORDER BY title_id

补充知识:
如何操纵SGA共享池中的库缓冲?
思考:SGA共享池中还有一个什么缓冲呢?
方法1:
查询 list
增加新行 新行号+新的命令
删除 del 行号
修改 n 新的内容<改变指定行 n代表行号> | change /原文/新的正文
思考:上述命令可以在已有的行“上面”插入新行吗?

方法2:
在记事本中对库缓冲任意修改:ed[it]

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics