常用数据库对象

1.管理员登陆SQL

sqlplus sys as sysdba;
口令:123456
权限授予:grant sysdba to scott;

2.创建表

create table student(
       sno number(6)primary key,
       sname varchar2(12),
       sex char(3),
       age number(3)check (age>0 and age <120 )not null,--年龄(0,120)且不为空
       score number(5,1)check (score>=0),--成绩大于0,保留一位小数
       enterdate date,
       email varchar2(20) unique  --唯一
)    --学生表

建表语法

在创建新表时,指定的表名必须不存在,否则将出错。
使用默认值:当插入行时如果不给出值,dbms将自动采用默认值。
在用Create语句创建基本表时,最初只是一个空的框架,用户可以使用insert命令把数据插入表中

数据库字段的数据类型

字符数据类型
CHAR:存储固定长度的字符串
VARCHAR2 :存储可变长度的字符串
数值数据类型
NUMBER:存储整数和浮点数,格式为NUMBER(p, s)
column_name NUMBER { p = 38, s = 0}
column_name NUMBER (p) {整数}
column_name NUMBER (p, s) {浮点数}
日期时间数据类型
DATE:存储日期和时间数据
TIMESTAMP:比DATE更精确
LOB数据类型
BLOB:存储二进制对象,如图像、音频和视频文件
CLOB:存储字符格式的大型对象

查看当前格式下汉字多少字节

SELECT * FROM v$nls_parameters WHERE PARAMETER='NLS_CHARACTERSET';
如果是“GBK”就是2个字节,“UTF-8”是3个字节

varchar()和varchar2的区别

  • 1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节
  • 2.VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;
  • 3.VARCHAR2字符要用几个字节存储,要看数据库使用的字符集,
    大部分情况下建议使用varchar2类型,可以保证更好的兼容性。

修改表

alter table student add address varchar2(20);--增加列address
alter table student drop column address;--删除列
alter table student modify (email varchar(15)) ;--修改列

删除表

drop table student;

改变表名

rename student to students;

查看表结构

set linesize 200; --调整列间距
Desc student;

数据库表的约束

数据完整性约束
表的数据有一定的取值范围和联系,多表之间的数据有时也有一定的参照关系。
在创建表和修改表时,可通过定义约束条件来保证数据的完整性和一致性。
约束条件是一些规则,在对数据进行插入、删除和修改时要对这些规则进行验证,从而起到约束作用。
完整性约束分类
域完整性约束(非空not null,检查check)
实体完整性约束(唯一unique,主键primary key)
参照完整性约束(外键foreign key)


常用数据库对象_第1张图片
image.png
create table clazz(
       cid number(2) primary key,
       cname varchar2(10) not null unique
);--班级表
alter table student add constraint fk_student_clazzid foreign key (clazzid) references  clazz(cid) --外键约束
--fk_student_clazzid  约束名称

你可能感兴趣的:(常用数据库对象)