oracle——学习之路(SQL基础)
使用create语句创建表
create table 表名
(
列名 类型 【null | not null】,
列名 类型 【null | not null】
)
在一个数据库中表名不允许重复,在同一张表中列名不允许重复,【null | not null】表示该列允许为空或非空,默认的情况下是非空的
举个栗子:
create table two
(
id number primary key,
nname varchar2(10) not null,
age number
)
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)
)
使用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 number primary key,
nname varchar2(10) not null,
age number
)
create table two
(
id number,
nname varchar2(10) not null,
age number,
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 foreign key(nname) references 表名(表中的列) on delete cascade ps:on delete cascade 保证主键对应字段被删除时,外键对应字段也被删除
修改表结构时添加外键约束:
add constraint ppk_name foreign key(nname) references 表名(表中的列) 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更快一点
最新文章
- oracle表大小
- SqlServer 数据库 引擎优化使用(六)
- PHP 文件与文件夹的创建和删除操作
- 浏览器中Javascript的加载和执行
- [转载]C# Random 生成不重复随机数
- ASP.NET- Web.Config配置大文件上传
- eclipse 404以及tomcat failed to start错误
- Python安装coverage.py
- nodejs抓取数据二(列表解析)
- (八)javaScript对象简介
- lua 数组
- dubbo filter实现接口认证springboot idea
- linux系统安装redis
- Robot Framework - 5 - 创建测试数据
- web-day10
- Linux gcc/g++链接编译顺序详解
- linux 定时备份
- MSYS2环境搭建
- a4纸尺寸像素大小
- POJ 3667 线段树区间合并
热门文章
- redis,memcached,mongodb之间的区别
- Django-缓存问题无法创建表
- 关于Map的问题
- TCP学习
- 软件开发中什么是CI/CD
- Nginx-HTTP之ngx_http_top_header_filter
- <;JavaScript>;数组的sort()方法中比较函数是怎么工作的
- 用JSON文本动态创建DataGrid
- 魔法方法 __slots__ 方法
- jdk1.8 HashMap源码分析(resize函数)