一、认识表: 行(记录) 列(域或者字段)
数据类型: 字符型 数值型 日期型 其它类型
字符型 : CHAR(n) 是定长的,比如n=10 我字符长度只有3,那么输出的结果要补充7个空格,比较浪费空间,最大长度2000。但是对于VARCHAR2(n)来说,它是变长的,字符长度是3就给3不用给空格,,最大长度4000。
数值型:number(p,s) number(5,2)有效数字是5位,保留2位小数。
float(n) 保存二进制数据的
日期型:DATE 精确到秒
TIMESTAMP精确到小数秒
其它类型:BLOB,CLOB 存放4GB字节数据
二、创建表
CREATE TABLE table_name
( column_name datatype,...)
小练习,创建用户信息表:
编号,用户名,密码,邮箱,注册时间,这个时候要思考所需字段,字段类型是什么?
用户编号,整数。用户名,密码,邮箱字符型,注册时间用日期型来表示。
create table userinfo(
id number(6,0),username varchar2(20),userpwd varchar2(20),email varchar(30),regdate date);
三、
1.在表里添加字段:
alter table table _name add column_name datatype;
alter table userinfo(表名字) add remarks varchar2(500);
2.更改字段的数据类型:
ALTER TABLE table_name MODIFY(更改原有的内容) column_name datatype;
(1)练习1:remarks的长度变为400
alter table userinfo modify remarks varchar2(400);
(2)练习2:用户密码改成number类型
alter table userinfo modify userpwd number(6,0);
3.删除字段:
alter table table_name drop column column_name(删除的字段名);
4.修改字段名
alter table table_name rename colunm column_name to new_column_name;
5.修改表名
rename table_name to new_table_name;
四、删除表
TRUNCATE TABLE table_name 删除表里面的全部数据,而不是删除表,也叫截断表
DROP TABLE table_name 删除表结构,整个都没有了。
五、操作表中的数据
1.添加数据
INSERT语句
INSERT INTO table_name (column1,column2,...) VALUES(value1,value2,...)
实例:
a.向表中所有字段添加值
insert into userinfo values(1,'xxx','123','xxx@126.com',sysdate);(sysdate是指的获取当前的时间信息。
b.向表中添加默认值
create table userinfo1 (id number(6,0), regdate date default sysdate); defaule代表默认值
insert into userfol(id) values(1) 要值和字段一一对应
2.复制表数据
在建表时复制,在添加时复制;
(1)在建表时复制
CREATE TABLE table_new AS SELECT (后面这个是需要复制的字段名字,多个字段用逗号隔开,所有的字段就用星号隔开)column1,...|FROM table_old ;
create table userinfo_new as select * from userinfo; 复制全部的内容
create table userinfo_new as select id from userinfo; 复制id 的内容
(2)在添加时复制
INSERT INTO table_new [(column1,...)] SELECT column1,...| FROM table_old
insert into userinfo_new(id,username) select id,username from userinfo;
3.修改数据
UPDATE语句
UPDATE table_name SET (为字段设置新的值,数据类型必须相匹配)column1=value1,...[WHERE conditions](修改的条件,不会修改全部的数据)
1.无条件的更新
update userinfo set userpwd='111111'
2.有条件的更新
update userinfo set userpwd='123456' where username='xxx';
4.删除数据
DELETE语句
where conditions 根据条件改,有条件的删除
5.约束
外键约束,唯一约束,检查约束
约束的作用:(1)定义规则(2)确保完整性
非空约束
1.创建表时设置非空约束
create table table_name(column_name字段名 datatype数据类型 not null,...);数据类型后面加上not null即可;
2.修改表时添加非空约束
alter table table_name modify column_name datatype not null;