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)
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 约束名称
网友评论