大家好,又见面了,我是你们的朋友全栈君
Oracle的数据类型:
字符型数据类型
- char
- varchar
- varchar2
- long
- 这几个字段之间的区别:char的长度是固定的,而varchar2的长度是可以变化的。也就是char(20)和varchar2(20)都存储”abc”,char是占用20个字符的,而varchar2是占用3个字符空间的。但是char的效率要高与varchar。这也就是平时说的以空间换效率。如果有一行经常被修改,而且每次修改的长度不相同,这回引起行迁移的问题,是数据库设计进来避免的问题,这时候就用char代理varchar2会更好。
- 一般情况下使用varchar2
数值型:
- number(<p>,<s>)
- Integer
- float
- 一般使用number
日期类型:
date 默认格式为:DD-MON-YY
timestamp,date的扩展。
常用date
代码语言:javascript复制--创建一张学生表(学生号,学生姓名,学生姓名,学生地址)
create table tab_stu(
stu_id number,
stu_name varchar2(10),
stu_gender varchar2(10),
stu_address varchar2(20)
);
LOB类型(存储大数据)
- BLOB Binary Large Object 4G,二进制的大数据
- CLOB Charset Large Object 4G 字符类型的大数据
- 都不太使用
数据库表的命名规则:
- 必须以字母开头。
- 字符长度在1-30之间。
- 只能包含A-Z,a-z,0-9,_,$和#
- 被同一个用户拥有的对象不能有重复的名字。
- 不能是Oracle服务器保留字。
SQL语句的分类:
- DDL(Data Define Language 数据库定义语句)语句
- 也就是对表的一些定义。例如 :create ,drop,alter等。
- DML(Data Mainpulation Language 数据库操作语句)语句
- 也就是Select,insert,update,delete等。
- DCL(Data Control Language 数据库控制语句)语句
- Grant(授权),Revoke(取消授权)
- TCL(Transaction Control Language 事务控制语言)
- savePoint(保存点)
- rollback(回滚)
- commit(提交)
表的创建和修改表结构:
创建一张表:
代码语言:javascript复制--创建一张学生表(学生号,学生姓名,学生姓别,学生地址)
create table tab_stu(
stu_id number,
stu_name varchar2(10),
stu_gender varchar2(10),
stu_address varchar2(20)
);
修改表,添加字段:
代码语言:javascript复制--修改表
--在学生表增加一个字段,学生出生日期
alter table tab_stu
add date_birth date;
修改表,将地址长度增加到50
代码语言:javascript复制--修改表
--将地址修改成50长度
alter table tab_stu
modify stu_address varchar2(50);
修改表,删除一个字段
代码语言:javascript复制--修改表
--删除date_birth字段
alter table tab_stu
drop column date_birth;
修改表,修改字段的名称
代码语言:javascript复制--修改表
--修改stu_address为stu_add
alter table tab_stu
rename column stu_address
to stu_add;
修改表,修改表的名称
代码语言:javascript复制--修改表
--修改表的名称为tab_student
rename tab_stu to tab_student;
添加注释和查看注释
代码语言:javascript复制--查看当前用户拥有表
select * from user_tables;
--查看注释,查看有注释的表
select * from user_tab_comments where comments is not null;
--查看注释,查看有注释的字段
select * from user_col_comments where comments is not null;
删除表和恢复表
代码语言:javascript复制--删除表
drop table tab_stu;
--恢复表,Oracle10g之后才有
flashback table tab_stu to before drop;
彻底删除表
代码语言:javascript复制--彻底删除表
drop table tab_stu purge;
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179218.html原文链接:https://javaforall.cn