表的概念与DDL语句
1. 认识表
(1)是基本存储单位
(2)是二维结构
(3)分为行和列
每一列的数据必须要有相同的数据类型
列名唯一
每一行的数据也是唯一的
2.数据类型
2.1字符型
不可变长度的字符型
CHAR(n) --MAX2000自动补齐后面的空格
NCHAR(n) --MAX1000 采用unicode编码
可变长度的字符型
VARCHAR2(n) --MAX4000可变长度不用补齐后面的空格
NVARCHAR2(n)--MAX2000 采用unicode编码
2.2数值型
NUMBER(p有效数字,s小数点后的位数)
NUMBER(5,2)有效数字5位,只留2位小数,如123.45
FLOAT(n)存储二进制的位数
2.3日期型
DATE --DATE类型表示范围:公元前4712年1月1日到公元9999年12月31日,可以精确到秒(一般使用)
TIMESTAMP --时间戳类型,精确到小数秒
2.4其它类型(存储大的对象,如图片)
BLOB --4G的数据,以二进制
CLOB --也可以存放4GB的数据,以字符串
3.表的DDL语句
3.1创建表
3.1.1创建基本表结构
基本语法: 在同一个用户下表名是唯一的 ;
CREATE TABLE table_name
(
column_name datatype, .......
)
例如:
create table userinfo
(
id number(6,0) ,
username varchar2(20) ,
userpassword varchar2(20) ,
email varchar2(30) ,
regdate date
);
![这里写图片描述](https://img-blog.csdn.net/20160806112655394)
使用 desc table_name 可以查看表的结构
![这里写图片描述](https://img-blog.csdn.net/20160806112713410)
3.1.2创建带默认值带主键的表
create table user_infos
(
id number(6,0) primary key ,
name varchar2(20) not null unique,
password varchar2(20) default('123') not null ,
email varchar2(30) ,
regdate date not null
);
![这里写图片描述](https://img-blog.csdn.net/20160806133546952)
3.1.3创建以当前时间为默认值的表
create table user_infos
(
id number(6,0) primary key ,
regdate date default sysdate
);
![这里写图片描述](https://img-blog.csdn.net/20160806135120849)
3.2修改表(修改表的结构)
3.2.1添加字段
ALTER TABLE table_name ADD column_name datatype
例如:
alter table userinfo add remarks varchar2(200);
![这里写图片描述](https://img-blog.csdn.net/20160806113127583)
3.2.2更改表的字段类型(在表还是空表的时候进行)
ALTER TABLE table_name MODIFY column_name datatype ;
例如:
alter table userinfo modify remarks nvarchar2(400);
![这里写图片描述](https://img-blog.csdn.net/20160806113446066)
3.2.3删除字段
ALTER TABLE table_name DROP COLUMN column_name ;
例如:
alter table userinfo drop column remaks;
![这里写图片描述](https://img-blog.csdn.net/20160806113637616)
3.2.4修改字段的名字
ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name ;
例如:
alter table userinfo rename column remarks to marks ;
![这里写图片描述](https://img-blog.csdn.net/20160806113814947)
3.2.5修改表的名字
RENAME table_name TO new_table_name ;
例如:
rename userinfo to userinfomation ;
![这里写图片描述](https://img-blog.csdn.net/20160806113932386)
3.3删除表
3.3.1删除表中的全部数据(截断表 , 比delete删除要快)
TRUNCATE TABLE table_name ;
例如:
truncate table userinfomation ;
![这里写图片描述](https://img-blog.csdn.net/20160806114211572)
3.3.2删除整个表(包括表结构与表数据)
DROP TABLE table_name ;
例如:
drop table userinfomation ;
![这里写图片描述](https://img-blog.csdn.net/20160806114322797)