oracle基础语法(一)创建、修改、删除表及数据

oracle基础语法(一)创建、修改、删除表及数据

一、创建、修改、删除(掌握)

1、创建表

语法:

create table 表名称(
字段名 类型(长度) primary key,
    字段名 类型(长度),
    ....
);

数据类型:

1.字符型

(1)CHAR : 固定长度的字符类型,最多存储2000个字节

(2)VARCHAR2 :可变长度的字符类型,最多存储4000个字节

(3)LONG : 大文本类型。最大可以存储2个G

2.NUMBER : 数值类型

例如:NUMBER(5) 最大可以存的数为99999

NUMBER(5,2) 最大可以存的数为999.99

3.日期型

(1)DATE:日期时间型,精确到秒

(2)TIMESTAMP:精确到秒的小数点后9位

4.二进制型(大数据类型)

(1)CLOB : 存储字符,最大可以存4个G

(2)BLOB:存储图像、声音、视频等二进制数据,最多可以存4个G

实例:创建业主表

/*创建业主表 表名:t_owners*/
CREATE TABLE t_owners
(
	ID NUMBER PRIMARY KEY,-- 业主编号
    NAME VARCHAR2(30),--业主名称
    addressid number, --所有地址(地址ID)
    hoursenumber VARCHAR2(30), --门牌号
    watermeter number, --水表编号
    adddate DATE, -- 登记日期
    ownertypeid NUMBER --业主类型ID
);

2、修改表

1、增加字段语法:

ALTER TABEL 表名称 ADD(列名 1 类型[DEFAULT 默认值], 类名2 类型[DEFAULT 默认值]...)

为业主表增加两个字段,语句:

-- 追加字段
 ALTER TABLE T_OWNERS ADD
 (
 	REMARK VARCHAR2(20),
 	OUTDATE DATE
 )

2、修改字段类型语法:

ALTER TABLE 表名 MODIFY(列名1 类型[DEFAULT 默认值,列名1 类型[DEFAULT 默认值]...])

修改两个字段的类型,语句:

-- 修改字段
ALTER TABLE T_OWNERS MODIFY 
(
REMARK CHAR(20),
OUTDATE TIMESTAMP
)

3、修改字段名语法:

ALTER TABLE 表名称 RENAME COLUMN 原列名 TO 新列名

语句:

ALTER TABLE T_OWNERS RENAME COLUMN OUTDATE TO EXITDATE

4、删除字段名

-- 删除一个字段名
ALTER TABLE 表名称 DROP COLUMN 列名
-- 删除多个字段
ALTER TABLE 表名称 DROP (列名1,列名2...)

语句:

-- 删除字段
AlTER TABLE T_OWNERS DROP COLUMN REMARK

3、删除表

语法:

DROP TABLE 表名称

总结:对行的操作什么时候加colume,在对字段名直接操作加colume反之(对字段的长度操作不加)

3、 数据增删改(掌握)

1、插入数据

语法:

insert into 表名[(列名1,类名2,...)] values(值1,值2,...)

实例:向业主表插入数据

-- 向业主表中插入数据
insert into T_OWNERS values(1,'小宝',1,'2-2',5678,sysdate,1);
-- 说明:sysdate是order 中用来获取当前日期时间的系统变量

在执行了以上insert语句后,使用ORACLE客户端连接数据库并查询T_OWNERS表时发现:

没有数据执行

SQL> select * from T_OWNERS;
no rows selected 没有数据行

原因:在PLSQL Developer 工具中,执行了INSERT 语句后,并没有提交事务。

注意:INSERT后一定要执行commit 提交事务

在PLSQLDeveloper 中点击齿轮的图标后,再点击下图的绿色图标(图标为commit)

img

我们再次录入一条数据,语句如下:

insert into T_OWNERS VALUES (2,'赵大侃',1,'2-3','9876',sysdate,1);
commit;

以上INSERT 语句的后面添加了commit命令,表示在执行完INSERT后又提交了事务。

2、修改数据

语法:

UPDATE 表名 SET 列名1=1,类名2=2...WHERE 修改条件;

执行UPDATE后一定要再执行commit提交事务

需求:将ID为1的业主的登记日期更改为三天前的日期

update T_OWNERS set adddate = adddate-3 where id=1;
commit;
3、删除数据

语法1:

DELETE FROM 表名 WHERE 删除条件;

执行DELETE 后一定要再执行commit提交事务

需要:删除业主ID为 2的业主信息

delect from T_OWNERS where id=2;
commit;

语法2:

TRUNCTE TABEL 表名名称

比较

truncat 与 delete 实现数据删除?

1)delete删除的数据可以rollback;truncate是不可回滚

2)delete删除可能产生碎片,并且不释放空间;truncate不会产生碎片,会释放空间

  1. delete是逐条删除;truncate是先摧毁表,再重构表

你可能感兴趣的:(#,Oracle)