创建表:
基本语句:creat table 表名 (字段名 类型,字段名 类型,.......)
创建学生表:
create table student(
snum number(10),
sname varcahr2(100),--指定姓名的存储上限100字节
sex char(4),
sal number(6, 2),--指定工资的整数位为6,小数位为2
mail varchar(50)
)
字段类型:
number类型:数字类型,用来声明存储数字的字段。 number(指定数字的整数长度,指定数字的小数位长度)
varchar2类型:字符类型,用来声明存储字符的字段。会根据存储的数据自动增长大小,varchar2(存储上限)
char类型:字符类型,用来声明存储字符的字符。会开辟指定大小的内存来存储数据。
区别1:char的存储效率高于varchar2
区别2:char是开辟指定大小的内存空间,varchar2是根据数据大小来开辟空间的大小
date类型:存储日期类型
修改表:
在命令窗口查看表结构 desc 表名
添加新字段 alter table 表名 add 字段名 类型
alter table student add phone number(11)
修改字段类型 alter table 表名 modify 字段名 类型
alter table student modify sname varchar2(200)
删除字段 alter table 表名 drop column 字段名
alter table student drop column phone
修改表名 rename 表名 to 新的表名
rename student to stu
rename stu to student
删除表 drop table 表名
drop table student
约束:
create table student(
snum number(10),--primary key,--使用主键约束
sna varchar2(100), --not null,
sex char(4), --default '男' check(sex='男' or sex='女') not null,
age number check(age>0 and age<120),
qq number, --unique,
sal number(6,2),
mail varchar2(50)
-- constraints pk_student_snum primary key(snum)
-- constraints ck_student_sna check(sna is not null)
-- constraints ck_student_sex check(sex ='男' or sex='女')
--constraints uk_student_qq unique(qq)
)
alter table student add constraints pk_student_snum primary key(snum);--在创建表后添加主键
alter table student drop constraints pk_student_snum--删除主键
alter table student modify sna varchar2(100) not null;--添加非空约束
alter table student modify sna varchar2(100) null;--修改字段为空
alter table student add constraints ck_student_sex check(sex='男' or sex='女')--添加检查约束
alter table student drop constraints ck_student_sex --删除检查约束
alter table student add constraints uk_student_qq unique(qq)
alter table student drop constraints uk_student_qq
drop table student
主键约束:
1、在确定为主键的字段后添加 primary key关键字
2、在创建表的后面使用:constraints pk_表名_字段名 primary key(字段名);
3、在创建表后使用 alter table 表名 add constraints pk_表名_字段名 primary key(字段名);
非空约束:
1、创建表的时候在字段后面添加not null
2、在创建表字段后使用 constraints ck_表名_字段名 check(字段名 is not null) 了解
3、在创建表后使用alter table 表名 modify 字段名 类型 not null;
4、修改字段可以存储空值:alter table 表名 modify 字段名 类型 null;
检查约束:
1、创建表的时候在字段后使用 default 值 check(条件);但是会允许空值的出现,并且默认值只有在字段不声明的情况下生效
2、在创建表所有字段后使用:constraints ck_表名_字段名 check(条件);
3、在创建表后使用:alter table 表名 add constraints ck_表名_字段名 check(条件)
唯一约束:
1、在字段后直接使用unique关键字;
2、在所有字段后使用:constraints uk_表名_字段名 unique(字段名);
3、alter table 表名 add constraints uk_表名_字段名 unique(字段名);
删除唯一约束:alter table 表名 drop constraints uk_表名_字段名
外键约束:
1、在字段后使用 references 参照表表名(参照字段);
2、在所有字段后使用 constraints fk_表名_字段名 foreign key(字段名) references 参照表名(参照字段名);
3、在创建表后使用alter table 表名 add constraints fk_表名_字段名 foreign key(字段名) references 参照表名(参照字段名);
删除外键 alter table 表名 drop constraints fk_表名_字段名