oracle常用sql命令

本文详细介绍了Oracle SQL中表的基本操作,包括创建、修改、删除表及数据的增删改查等,同时还讲解了主键、外键等多种约束的使用方法。

打开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];

    

转载于:https://my.oschina.net/zcjlq/blog/1557800

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值