创建表语法:
CREATE TABLE example
(
col1 NUMBER,
col2 VARCHAR2(20) NOT NULL PRIMARY KEY
);
查看表的描述:
SQL> DESC example;
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
COL1 NUMBER Y
COL2 VARCHAR2(20)
插入语法:
INSERT INTO example
(col1, col2)
VALUES
( /*{ "col1" }*/, /*{ "col2" }*/);
注意事项:上下两个括号中的项必须一一对应.
删除表语法:
DROP TABLE example;
删除表记录语法:
DELETE FROM example WHERE col1=*;
修改表记录语法:
DELETE FROM example WHERE col1=*;
查询表记录:
可以为表名或者列名 定义别名.
SELECT * FROM example e;
SELECT e.col1, e.col2 FROM example e;
增加和删除、更新列:
--增加列
alter table example
add columnName datatype;
--删除列
alter table example
drop columnName ;
--更新列
alter table example
RENAME oldcolumnName TO newcolumnname ;
修改列数据类型:
alter table example
MODIFY columnName newdatatype ;
修改默认值:
ALTER TABLE example
MODIFY (columnName DEFAULT default_value) ;
重命名表:
ALTER TABLE example
RENAME TO new_table_name ;
修改表所属表空间:
ALTER TABLE example
MOVE TABLESPACE SYSTEM;
完整性约束:
1、非空约束:
创建表时创建,
create table NUMBERS
(
NUMBERID NUMBER(20) not null,
MYNUMBER VARCHAR2(20) not null
)
为已存在的列添加非空约束:
ALTER TABLE example
MODIFY column_name NOT NULL;
删除NOT NULL约束:
ALTER TABLE example
MODIFY column_name NULL;
2、主键约束:
创建表示创建约束:
CREATE TABLE example
(
col1 NUMBER,
col2 VARCHAR2(20) NOT NULL PRIMARY KEY --此列为主键约束列
);
为已存在的列添加主键约束:
ALTER TABLE example
ADD CONSTRAINT primary_key_name PRIMARY KEY (col_name);
删除主键:
ALTER TABLE example
DROP CONSTRAINT primary_key_name ;
3、unique约束
创建表时添加:
/************************************************************
* Code writed by setyg
* Time: 2014/4/4 12:45:16
************************************************************/
CREATE TABLE teacher
(
teacherid NUMBER(5) NOT NULL CONSTRAINT pri_key_id PRIMARY KEY,
teachername VARCHAR2(20) NOT NULL,
teachernum NUMBER(20) NOT NULL CONSTRAINT uni_num UNIQUE
)
为已存在的列添加unique约束:
/************************************************************
* Code writed by setyg
* Time: 2014/4/4 12:48:22
************************************************************/
ALTER TABLE export
ADD CONSTRAINT uni_study_no UNIQUE(study_no);
删除唯一性约束:
--写法1
ALTER TABLE export
DROP UNIQUE (unique_col_name);
--写法2
ALTER TABLE teacher
DROP CONSTRAINT constraint_name;
4、check约束
--限制表A的teacherid字段范围必须是100-200之间
ALTER TABLE teacher
ADD CONSTRAINT chk_id CHECK (teacherid BETWEEN 100 AND 200);
5、创建FOREIGN KEY约束
FOREIGN KEY即为外键约束,作用是让两个表通过外键建立关系.
FOREIGN KEY有以下4个特点:
* 如果某列添加为外键,则该列的值只能为引用表中的主键属性值或者空值.
* 可以为一个元组的一个属性定义为FOREIGN KEY也可以为多个属性定义FOREIGN KEY.
* 定义为FOREIGN KEY的外键列可以和被引用的主键列处于同一个关系中.
* 对于同一个属性可以同时定义为FOREIGN KEY和NOT NULL.
创建外键:
--创建表时创建
CREATE TABLE teacher
(
teacherid NUMBER(20) NOT NULL PRIMARY KEY,
teachername VARCHAR2(20) NOT NULL,
teachernum NUMBER(20) REFERENCES numbers(numberid),
teacherage NUMBER(3) NOT NULL
)
为已存在的表添加外键:
ALTER TABLE teacher
ADD CONSTRAINT foreign_key FOREIGN KEY (teachernum) REFERENCES numbers(numberid);
删除外键:
ALTER TABLE teacher
DROP CONSTRAINT constraint_foreign_key_name;
6、控制约束的约束
disable和enable
设置约束为不可用:
ALTER TABLE teacher
DISENABLE CONSTRAINT constraint_key_name;
修改约束为激活状态:
ALTER TABLE teacher
MODIFY CONSTRAINT constraint_key_name ENABLE;
7、验证约束
8、延迟约束