oracle数据库建表语句

1.一个用户可以有多个角色

2、一个用户可以有多个权限

3、一个权限也可以给多个用户

Oracle 系统默认用户

system:是数据库内置的一个普通管理员

sys:用数据库的超级用户,必须以 sysdba 身份登录

scott:简单的样例帐户

sysman:企业管理器帐户

创建用户

语句:create user e318 identified by 123456;

赋予e318用户connect,resource角色

语句:grant connect,resource to e318;

收回用户e318用户的角色

语句:revoke connect from e318;

创建角色(但是这个角色没有任何的权限,你需要给它赋权限)

语句:create role e318_r1;

赋予角色权限

语句:grant create session,create table to e318_r1;

这个的是创建了一个会话 并且和一个表

收回角色权限

语句:revoke create table from e318_r1;

将自己创建的角色赋给用户

语句:grant e318_r1 to e318;

删除用户,角色

删除用户

语句:drop user e318;

删除角色

语句:drop role e318_r1;

锁定用户

alter user e318 account lock ;

解锁用户

语句:alter user e318 account unlock;

数据表的知识

1、实体完整性:主键

特点:唯一,非空

2、参照完整性或引用完整性:外键

3、域完整性

3.1非空字段

3.2唯一字段 如:用户名,手机号,邮箱

3.3检查 如:年龄>=18 ,性别为男还是女

4、用户定义完整性

5、完整性约束条件

非空约束(not null)

唯一约束(unique)

主键约束(primary key)

外键约束(foreign key)

条件约束(check)

建表中常用数据类型:

1、文本( char(n)、nchar(n)、varchar2(n)、nvarchar2(n)、long ) 如:姓名,手机号,订单编号

2、数字():年龄,价格

3、日期和时间( Date )

create table teacher(

教工号 文本 主键 ,

姓名 文本,

性别 数字,

职称 文本

);

create table coureses(

课程号 文本 主键,

课名 文本,

学时 数字,

学分 数字

);

一个字符会有多个字节 一个字节等于8位

ascii字符位一个字节

一个中文字符可能会有两个或多个字节

Oracle数据库字段数据类型

数据: char(n)、nchar(n)、varchar2(n)、nvarchar2(n)、long

char:使**用数据库字符集来存储数据,长度固定,未达到指定长度,自动补足空格;**采用char或byte为计

量单位,最大存储长度为2000个字节;不指定最大长度,默认长度为1

nchar:使用国家字符集来存储数据,长度固定,未达到指定长度,自动补足空格;采用char或byte为计量

单位,最大存储长度为2000个字节;不指定最大长度,默认长度为1

varchar2:使用数据库字符集存储数据,长度可变,未达到指定长度,不自动补足空格;采用char为计量

单位,最大存储长度为4000个字节;必须指定最大长度,长度最小值为1.

nvarchar2:使用国家字符集来存储数据,长度可变,未达到指定长度,不自动补足空格;采用char为计量

单位,最大存储长度为4000个字节;必须指定最大长度,长度最小值为1.

long数据类型用来存储较长文本(如:文章、小说等),最大长度限制是2GB,long类型主要用于不需要

作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型.

通过如下查询语句可以查询char与nchar所使用的字符集

注:oracle 中数字没有int 用的是number

建表1:

create table t_class(

class_no char(5) primary key,

class_name varchar(100)

);

comment on table t_class is '学生表'

comment on column xiaorui.t_class.class_no is '班级编号' 表示:数据库下的表t_class的字段class_no的注释

查看表结构(describe的缩写):

语句:desc 表名 ;

删除表:

语句:drop table 表名;

建表2:

create table t_student(

stu_no char(9) primary key,

stu_name varchar(60),

sex number(1),

class_no char(5)

);

当表创建后,可以 通过sql语句或命令进行修改

添加字段:

alter table 表名 add 要添加的字段名 添加的字段类型 unique; unique表示约束意思表唯一可加可不加

如:alter table t_student add moblie char(11);

删除字段:

语句:alter table 表名 drop column 要删列的名字;

如:alter table t_student drop column moblie;

修改字段:

语句:alter table 表名 modify 要修改的字段 类型;

如:alter table t_student modify stu_name varchar(200); 这个把上表字段的类型修改为200字符

表字段约束的添加与删除

给字段添加唯一约束:

语句:alter table 表名 add constraint 约束名 unqiue(要添加列的字段名);

alter table t_student add constraint US_mobile unqiue(stu_no); 表示给stu_no添加了一个唯一的限制条件 并且给限制取了一个名字 叫 US_mobile

给表字段添加检查约束:

语句:alter table 表名 add constraint 约束名 约束条件;

如:alter table t_student add constraint C_sex check (sex=1 or sex=2); 表示给number 一个选项:1表示男2表示女

删除表字段的约束:

语句:alter table 表名 drop constraint 约束条件的名字;

如:alterl table t_student drop constraint C_sex ; 表示删除性别的约束

添加外键约束:

语句:alter table 表名 add constraint 外键名 foreign key (另外一个表参照字段)

references 参照表名(参照字段)

如:alter table t_student add constraint CF_class_no foreign key(class_no)

references t_class(class_no);表示创建一个外键名叫 CF_class_no 你在t_student中创建数据的时候要参照现实 所以要更加另一个表创建

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值