基本表管理和增删改查

上课内容:
建表和修改表的结构
以查询的方式建表
增删改查之语法和示例
基本查询之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] 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值