打开cmd,输入sqlplus,输入用户名密码登陆。
1.创建表:
CREATE TABLE table_name
(column_name datetype [null | not null],
column_name datetype [null | not null],
...
[constraint]
)
说明:
一个数据库中表名不可以重复,一个表中列名不可以重复
null not null是否允许该列为空
constraint 为表中的列设置约束
CREATE TABLE productinfo(
productid varchar2(10),
productname varchar2(20),
productprice number(8,2),
quantity number(10),
category varchar2(10),
desperation varchar2(1000),
origin varchar2(10)
);
根据其他表创建表
CREATE TABLE table_name AS SELECT column_name1,column_name2,...FROM source_table;
AS 关键字不能省略。
创建后原表记录同时会插入到新表中。
2.修改表
ALTER TABLE table_name
ADD column_name | MODIFY column_name | DROP COLUMN column_name;
drop column 时一般要加上CASCADE CONSTRAINTS,把与该列有关的约束一起删除。
例:
-- 添加列
ALTER TABLE productinfo ADD remark varchar2(200);
-- 修改列
ALTER TABLE productinfo MODIFY remark number(2,2);
-- 删除列
ALTER TABLE productinfo DROP column remark;
3.约束
(1)主键约束
在创建时指定:primary key (字段名)
通过alter指定:
-- 添加主键约束
ALTER TABLE table_name ADD CONSTRAINTS constraint_name PRIMAY KEY (column_name);
-- 删除主键约束
ALTER TABLE table_name DROP CONSTRAINTS constraint_name;
(2)外键约束
在创建时指定:
CONSTRAINT constraint_name FOREIGN KEY (column_name)
REFERENCE table_name (column_name)
ON DELETE CASCADE;
设置级联删除后,当主键字段删除,外键对应的字段也会删除。
通过alter指定:
-- 增加外键约束
ALTER TABLE table_name
ADD CONSTRAINT constraint_name FOREIGN KEY (column_name)
REFERENCE table_name (column_name)
ON DELETE CASCADE;
-- 删除外键约束
ALTER TABLE table_name
DROP CONSTRAINT constraint_name;
(3)CHECK约束(UNIQUE约束)
在创建时指定:
CONSTRAINT constraint_name CHECK | UNIQUE(condition);
condition是约束条件,如 CHECK(age >= 18 AND age <= 60),CHECK(gender='男' or gender='女')
UNIQUE唯一约束,
通过alter指定:
-- 增加检查约束
ALTER TABLE table_name
ADD CONSTRAINT constraint_name CHECK | UNIQUE(condition);
-- 删除检查约束
ALTER TABLE table_name
DROP CONSTRAINT constraint_name;
(4)NOT NULL非空约束
在创建时指定:
column_name datatype NOT NULL
通过alter指定:
-- 增加非空约束
ALTER TABLE table_name
MODIFY column_name NOT NULL;
-- 删除非空约束
ALTER TABLE table_name
MODIFY column_name NULL;
4.插入INSERT
INSERT INTO table_name(column_name1,column_name2,...) VALUES(data1,data2,...);
通过子查询插入数据
INSERT INTO table_name1 (column_name1,column_name2,...)
SELECT column_name1,column_name2,... FROM table_name2;
注意:一定要确保两个表的列的个数和列的数据类型都一致。
5.修改UPDATE
UPDATE table_name SET column_name1=data1, column_name2=data2,...[WHERE condition];
6.删除DELETE
DELETE table_name [WHERE condition];