Oracle11g Database相关基础操作

一、创建表空间、用户、授权

--1.创建表空间(表空间名字:FR;位置:D:\app\user\oradata\FR.dbf)
create tablespace FR datafile 'D:\app\user\oradata\FR.dbf' size 200m autoextend on next 100m maxsize unlimited;

--2.创建用户(用户名:fr,密码:fr)关联到表空间FR
create user fr identified by fr default tablespace FR;

--3.给用户授权,connect,resource,dba(分别三种不同操作权限)
grant connect,resource,dba to fr;

二、Oracle查询表注释、表字段注释,查看表结构。

1. 查看表注释(table_name 为实际表名)
select * from user_tab_comments where table_name = 'table_name';

2. 查看字段注释(table_name 为实际表名)
select * from user_col_comments where table_name = 'table_name';

3. 查询字段和字段类型(table_name 为实际表名)
select table_name,column_name,data_type,data_length from all_tab_cols 
where table_name = 'table_name';

三、Oracle使用代码创建表、修改表信息

1.创建表
  create table 表名 (
    字段名1 字段类型 默认值 是否为空,
    字段名2 字段类型 默认值 是否为空,
    字段名3 字段类型 默认值 是否为空,
    ......
        主键ID 字段类型 NOT NULL,
        PRIMARY KEY (主键ID) 
  );

	例:创建一个userinfo表
	CREATE TABLE USERINFO(
		NAME VARCHAR2(60),
		AGE INT,
		SEX VARCHAR2(6) DEFAULT '男' CHECK ( SEX IN ('男','女')),
		DEF1 VARCHAR2(60),
		DEF2 VARCHAR2(60),
		DEF3 VARCHAR2(60),
		CREATE_BY VARCHAR(100),
		CREATE_DATE DATE,
		LAST_UPDATE_BY VARCHAR(100),
	  LAST_UPDATE_TIME DATE,
		IS_VALID DATE,
	  PK_ID VARCHAR2(32) NOT NULL,
		PRIMARY KEY (PK_ID)
	);

	COMMENT ON TABLE USERINFO IS '用户信息表';
	COMMENT ON COLUMN USERINFO.NAME IS '姓名';
	COMMENT ON COLUMN USERINFO.AGE IS '年龄';
	COMMENT ON COLUMN USERINFO.SEX IS '性别';
	COMMENT ON COLUMN USERINFO.DEF1 IS '备用字段1';
	COMMENT ON COLUMN USERINFO.DEF2 IS '备用字段2';
	COMMENT ON COLUMN USERINFO.DEF3 IS '备用字段3';
	COMMENT ON COLUMN USERINFO.CREATE_BY IS '创建人';
	COMMENT ON COLUMN USERINFO.CREATE_DATE IS '创建时间';
	COMMENT ON COLUMN USERINFO.LAST_UPDATE_BY IS '最后更新人';
	COMMENT ON COLUMN USERINFO.LAST_UPDATE_TIME IS '最后更新时间';
	COMMENT ON COLUMN USERINFO.IS_VALID IS '数据有效性';
	COMMENT ON COLUMN USERINFO.PK_ID IS '主键ID';

2.修改表名
  rename 旧表名 to 新表名;
  rename user to newuser;

3.删除表
  drop table 表名;
  drop 删除所有数据,会删除表结构。

4.删除表数据
	delete from 表名;
  delete删除数据是一条一条的删除数据,后面可以添加where条件,不删除表结构。
	注意:如果表中有identity产生的自增id列,delete from后仍然从上次的数开始增加。
  truncate table 表名;
  truncate是一次性删掉所有数据,不删除表结构。注意:如果表中有identity产生的自增id列,truncate后,会恢复初始值。

5.修改表
  (1)添加新字段
  alter table 表名 add(字段名 字段类型 默认值 是否为空);
  alter table user add(age number(6));
  alter table user add (course varchar2(30) default '空' not null);
  (2)修改字段
  alter table 表名 modify (字段名 字段类型 默认值 是否为空);
  alter table user modify((age number(8));
  (3)修改字段名
  alter table 表名 rename  column  列名 to 新列名;
  alter table user rename column course to newcourse;
  (4)删除字段
  alter table 表名 drop column 字段名;
  alter table user drop column course;

四、其他

oracle字符集:select userenv('language') from dual;
如果字符集是16位编码的,ZHS16GBK,那么每个字符16位,2字节,所以可以容纳2000字符。
如果是32位编码的字符集,那么只能存储 1000个字符。

例如:
varchar(50) 表示该字段类型为varchar2类型,长度为50,可以存单字节字符50个,如字母、数字等,可以存储双字节字符25个,如汉字。不同的是,若输入的不足,则以空格填充。
varchar2(50) 表示该字段类型为varchar2类型,长度为50,可以存单字节字符50个,如字母、数字等,可以存储双字节字符25个,如汉字。
nvarchar2(50)表示该字段类型为nvarchar2,长度为50,不论英文,数字,中文都能存50个。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值