oracle——学习之路(SQL基础)

使用create语句创建表

create table 表名

(

列名 类型,

列名 类型

)

举个栗子:

create table two
(
id int primary key,
nname varchar2(10) not null,
age int
)

使用Alter语句修改表

alter table 表名

add  列名| modify 列名|drop column 列名

modify 是修改一个已经存在的列名

举几个栗子:

alter table two
add sex char(3);

alter table two
modify nname varchar2(20);

alter table two
drop column sex;

drop table two;                       删除表

约束:

主键约束:每个数据表中只有一个主键约束,但是一个主键约束可以由数据表中多个列组成,关键字:primary key

create table two
(
id int primary key,
nname varchar2(10) not null,
age int
)

create table two
(
id int ,
nname varchar2(10) not null,
age int,
primary key(id)
)

两种写法都可以

当然也可以用alter语句添加主键约束

alter table two
add constraint pk_name primary key(id);                                        ps:pk_name是约束名

移除约束

alter table two
drop constraint pk_name;

外键约束:可以保证使用外键约束的数据库列与引用的主键约束的数据列一致,外键约束在一个数据表中可以有多个

外键约束要在创建表的语句后面加上如下语句:

alter  table 表名

constraint ppk_name froreign key(nname) reference 表名(表中的列) on delete cascade                   ps:on delete cascade 保证主键对应字段被删除时,外键对应字段也被删除

修改表结构时添加外键约束:

add constraint ppk_name froreign key(nname) reference 表名(表中的列) on delete cascade

移除外键约束与一处主键约束同样

check约束:检查约束,规定每一个列能够输入的值,以保证数据的正确性

创建check约束可以在创建表的语句后面加上如下操作:

constraint constraint_name check(condition) 

修改表结构时添加check约束

alter table 表名

add constraint constraint_name check(condition)

移除check约束:

alter table 表名

drop constraint constraint_name;

unique约束:唯一约束,这个设置在表中输入大的字段值都是唯一的,和主键约束非常相似,不同的是,unique约束在一张表中可以有多个

在创建表的语句后面加上如下语句即可以创建unique约束:

constraint constraint_name unique(列名)

在修改表结构时添加unique约束:

alter table 表名

add constraint constraint_name unique(列名)

移除unique约束:

同上

not null约束:非空约束,子啊创建表时添加非空约束,确保字段一定有输入值

创建not null 约束直接在字段后面直接写not null即可

修改表结构时添加not null约束:

alter table 表名

modify  列名 not null;

添加数据insert:

insert into 表名(列名1,列名2,……) values(值1,值2,……);

insert into 表名 values(值1,值2,……);

两种方法都可以,列名与值要一一对应,如果没有指明列名,那么表中有多少列都要按顺序添加顺序,没有非空约束的列可以用null值添加

也可以通过其它表来添加数据,不过要注意两张表列个数,数据类型要一致,否则会出现错误

insert into 表名(列名1,列名2,……) select 值1,值2,…… from 表2;

另一种创建表的方式:

create table 表名 as select 列名1,列名2,…… from 表2;

update修改数据:

update 表名 set  列名=新值,…… where 条件; 

delete删除数据:

delete from 表名  where 条件                                                   切记不加条件就是删除全部数据,这是个灾难!

其他数据操纵语句:

truncate table 表名                        无条件删除表中全部记录,比delete更快一点

猜你喜欢

转载自www.cnblogs.com/chlme-wyn-001/p/11135012.html