数据库对象
数据库对象:是数据库的组成部分,有表、约束 、索引、视图、序列、同义词、触发器、存储过程、函数等。
创建表
CREATE TABLE [schema.]table
(column datatype[DEFAULT expr][, ...]);
--您必须具备:
--CREATE TABLE的权限
--一定的存贮空间(ALTER USER 用户名QUOTA 尺寸ON 表空间名字)
--您需要指定:
--表名、列名、列的类型及列的宽度
例如:
CREATE TABLE DOSSIER (
ID NUMBER(4),
CNAME VARCHAR2(20 ),
BIRTHDAY DATE,
STATURE NUMBER(3),
WEIGHT NUMBER(5, 2),
COUNTRY_CODE CHAR(2 ) DEFAULT ‘01’);
用子查询语法创建表
CREATE TABLE table[(column, column...)]
AS subquery;
创建和表二一样表头的表一,仅含表头。
creat table 表1 as select * from 表二 where 1=0
default
–指定在插入或更新数据时,列的默认值
–合法的值可以是字面值、表达式或SQL函数
–非法的值是另一个列的名称或虚拟列
–默认值的数据类型必须和列的类型匹配
修改默认值
例如:
update dossier set country_code=default where id=2;
数据类型
字符型
数值型
日期型
图片类型
修改表
添加列
ALTER TABLE table
ADD (columnname datatype[DEFAULT expr]
[, columnname datatype]...);
修改列
ALTER TABLE table
MODIFY(columnnamedatatype[DEFAULT expr]
[, columnnamedatatype]...);
删除列
ALTER TABLE table
DROP (columnname [,columnname]);
删除表
DROP TABLE table;
重命名表
RENAME old_name TO new_name;
截断表
TRUNCATE TABLE table;
TRUNCATE和DELETE区别
TRUNCATE是DDL,只能删除表中所有记录,释放存储空间, 使用ROLLBACK不可以回滚。
DELETE是DML,可以删除指定记录,不释放存储空间,使用 ROLLBACK可以回滚。
数据字典
查询数据字典
SELECT table_name
FROM user_tables;
查看数据字典结构
DESC user_tables