表的创办与管理一(学习笔记)

表的创建与管理一(学习笔记)

常用数据类型

  1. char(n) n=1 to2000字节,保存定长的字符串
  2. varchar2(n) n=1 to 4000字节,变长的可以入数字,字母,ASCII码字符集,12C开始最大支持32767字节长度
  3. long用来存放长文件最大2G,一个表中只能有一列是LONG
  4. number(m,n)m= 1 to 38 ,n=-84 to 127,总长度为M,小数分为N,整数部分为M-N
  5. date 日期类型,用来存放日期数据不包含毫秒
  6. timestamp ,日期类型,用来存放日期数据包含毫秒
  7. CLOB 4G容量,存放大量文本
  8. BLOB 4G容量,存放图片,电影,音乐等
  9. BFILE能够将二进制文件储存在数据库外部的操作系统文件中
  10. 整数number(m)也可以用INT替代
  11. 小数number(m,n)也可以用FLOAT替代

创建表的语法:

CREATE TABLE 用户名.表名(
 字段名称 字段类型 [DEFAULT 默认值]
字段名称 字段类型 [DEFAULT 默认值]
……..
);

 

创建表的操作属于DDL(数据库定义语言)命名要求

  1.  必须以字母开头
  2. 长度为1-30个字符
  3. 表名称由字线(A-Z,a-z),数字(0-9),_,下划线,$美元,#组成,而名称要有意义
  4. 对同一个用户不能使用相同的表名称

不能是ORACLE中的关键字如CREATE ,SELECT,UPDATE

示例一

创建一个member表,由成员编号(mid),姓名(name),年龄(age),生日(birthday),简介(note)5个字段组成

CREATE TABLE member(
    mid NUMBER(5),
    name VARCHAR2(50) DEFAULT '无名氏',
    age NUMBER(3),
    birthday  DATE   DEFAULT  SYSDATE,
    note CLOB
);

--查看当前用户下的全部表
SELECT * FROM tab;

查看member表的结构是否正确

DESC MEMBER;

向表中添加若干条记录

INSERT INTO MEMBER(mid,Name,Age,Birthday,NOTE)
VALUES(1,'test1',30,to_date('1984-9-23','YYYY-MM-DD'),'bdqn1');
INSERT INTO MEMBER(mid,Name,Age,Birthday,NOTE)
VALUES(2,'test2',25,to_date('1990-3-22','YYYY-MM-DD'),' bdqn2');
INSERT INTO MEMBER(mid,Name,Age,Birthday,NOTE)
VALUES(3,'test2',31,to_date('1983-6-21','YYYY-MM-DD'),' bdqn3');
查看是否添加成功
select * from member;

 

示例二

复制表

CREATE TABLE 表名称 AS 子查询

将emp表复制为myemp表
CREATE TABLE myemp AS SELECT * FROM emp;
查询myemp 表 
select * from myemp;

示例三

要求按emp表的结构建立一张employee表,但是不需要emp表的内容,只复制表结构,最好的方法就是在查询中写一个永远不可能成功的条件where 1=2

CREATE TABLE employee
 AS 
SELECT * FROM emp WHERE 1=2;
--查询employee表
SELECT * FROM employee;
通过DESC employee查询表结构
DESC employee;

示例四

表的重命名

 --语法

 RENAME 旧的表名称 TO 新的表名称

将member表修改为mldnuser
 RENAME MEMBER TO mldnuser;
  --查询当前用户下的全部表
 SELECT * FROM tab

示例五

截断表也叫清空表

 DELETE FROM 表名称需要时间长

 TRUNCATE TABLE 表名称  效率高 oracle专有

 --截断mldnuser表也就是清空,先是查询

--清空表
 TRUNCATE TABLE mldnuser;

 

示例六

表的删除

--语法

DROP TABLE 表名称

--删除myemp表

DROP TABLE myemp;