/*
数据类型
1. number(M,N)   整数位和小数位最多是M,其中小数位为N位
2. char(M):定长字符串,长度为M,如果插入数据时长度小于M,则在末尾补上空格
3. varchar2(M):不定长字符串,最大长度是M,如果插入数据时长度小于M,则按实际的数据插入,不作不空格的处理
4. date:日期
*/

/*
约束:约束是作用在表的字段上
1. 主键约束 primary key:唯一标识一行数据,唯一+非空
2. 非空约束not null:不能为空,不能往非空约束的列中插入null,空字符串''。如果表中已经有数据行,新增列时不能添加非空约束
3. 唯一约束unique:不允许有重复值,其中null是可以有重复
4. 默认约束default:默认值,如果插入数据时没有指定值则插入默认值,如果指定了值则取指定的值;只能在插入数据时起作用
5. 检查约束check: 字段值必须满足检查要求
6. 外键约束foreign key: 在其他表中是主键;插入数据时,外键字段值必须是主表存在的数据;主键表中数据被外键表引用,则主键表中数据不允许删除
*/

--新建表
/*
create table 表名(
列名1  数据类型  约束,
列名2 数据类型  约束,
列名3  数据类型  约束,
列名4  数据类型  约束,
列名N  数据类型  约束
);
*/
create  table  numberTest(
nn number(5,2) primary key,   -- number(5,2)最小可以存放-999.99,最大是999.99
cc varchar2(20)  not null,
ee  date  unique,
ff  varchar2(10) default 'hello',
gender  varchar2(10)  check (gender='male'  or  gender='female')
);

--查询数据teacherinfo中的所有数据
select * from teacherinfo;

--插入数据
insert into teacherinfo values(2,'Lily','dsdfsfhsdhf',12);

--删除数据
delete from teacherinfo where ff=‘hello’;

--删除表
--drop  table  表名;
drop   table subject;

--修改表结构
--alter table  表名  add/ modify / drop column   列名 数据类型(长度)  约束;

--新增一列
alter table  numberTest  add  tf varchar2(10) unique;

--修改列属性
alter table numberTest modify tf  varchar2(20); --修改列数据类型、长度时,原有的约束不会变更

--修改字段名
--alter table 表名 rename column  原字段名  to 新字段名;
alter table numberTest rename column  tf  to tff;

--删除字段
--alter table  表名 drop column 字段名;
alter table  numberTest drop column tff;
--外键的使用
create table teacherinfo(
teacherID number primary key,
teacherName  varchar2(20),
teacherZC varchar2(100),
teacherJL number
);

create table subject(
subjectId number primary key,
subjectName  varchar2(20),
subjectKS   number,
teaID  number  references  teacherinfo(teacherID)   --列名  数据类型   references 主表表名(主表主键名)
);

1.oracle之表管理sql的更多相关文章

  1. oracle 修改表的sql语句

    oracle 修改表的sql语句     1增加一个列:ALTER TABLE 表名 ADD(列名 数据类型);如:ALTER TABLE emp ADD(license varchar2(256)) ...

  2. Oracle系统表整理 --sql

    -- DBA/ALL/USER/V_$/GV_$/SESSION/INDEX开头的绝大部分都是视图-- DBA_TABLES意为DBA拥有的或可以访问的所有的关系表.-- ALL_TABLES意为某一 ...

  3. Oracle建表提示SQL 错误: ORA-00904: : 标识符无效

    Oracle建表提示: 错误报告:SQL 错误: ORA-00904: : 标识符无效00904. 00000 -  "%s: invalid identifier"*Cause: ...

  4. Oracle创建表管理表

    --创建图书表 create table books_lib ( book_id ) primary key, --unique&not null book_name ) not null ) ...

  5. oracle各种常用管理sql及其他 ---待续

    启动客户端工具:sqlplus /nolog 使用sysdba链接:conn / as sysdba; select * from dba_users; --查看数据库里面所有用户,前提是你是有dba ...

  6. Oracle建表和SQL语句的增删改

    创建表 --建表语法结构: /* CREATE TABLE 表名( 字段名1 数据类型, 字段名2 数据类型 .... ); */ --建一张老师表,里面包含老师编号,老师姓名,老师联系方式,老师入职 ...

  7. 2.oracle之用户管理sql

    --创建用户--create user  用户名  identified by  密码;create user jojo identified by bean; --给用户授权--grant conn ...

  8. 创建oracle数据表示例sql

    CREATE TABLE "BRAND_RELATION"    (        "ID" NUMBER(10,0) NOT NULL ENABLE,    ...

  9. Oracle创建表空间和表

    创建表空间和表ORACLE物理上是由磁盘上的以下几种文件:数据文件和控制文件和LOGFILE构成的oracle中的表就是一张存储数据的表.表空间是逻辑上的划分.方便管理的.数据表空间 (Tablesp ...

随机推荐

  1. Filter中request对象强转问题

    以下为过滤器doFIlter方法的源代码: public void doFilter(ServletRequest request, ServletResponse response, FilterC ...

  2. JavaScript Dom 绑定事件

    JavaScript  Dom 绑定事件 // 先获取Dom对象,然后进行绑定 document.getElementById('xx').onclick document.getElementByI ...

  3. Docker Swarm redis 集群搭建

    Docker Swarm redis 集群搭建 环境1: 系统:Linux Centos 7.4 x64 内核:Linux docker 3.10.0-693.2.2.el7.x86_64 Docke ...

  4. UI自动化(三)css优先级

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. HDU 6186 CS Course(前缀+后缀)

    http://acm.hdu.edu.cn/showproblem.php?pid=6186 题意:给出n个数,共有n次询问,每次询问给出一个数p,求除去第p个数后的n-1个数的&.|.^值. ...

  6. PHP深入浅出之命名空间(Namespace)的使用详解

    对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结. 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只 ...

  7. Pandas 基础(6) - 用 replace() 函数处理不合理数据

    首先, 还是新建一个 jupyter notebook, 然后引入 csv 文件(此文件我已上传到博客园): import pandas as pd import numpy as np df = p ...

  8. 浅谈StringBuffer

    StringBuffer,由名字可以看出,是一个String的缓冲区,也就是说一个类似于String的字符串缓冲区,和String不同的是,它可以被修改,而且是线程安全的.StringBuffer在任 ...

  9. vscode 常用插件

    1. Local History 可以查看本地的修改记录,比较不同 2.TODO插件 可以将有待修改或者完善的地方标记出来,在任务列表中查看, 避免后面忘记, 提高效率. 包含TODO, FIXME. ...

  10. Linux(CentOS 7)命令行模式安装VMware Tools 详解

    本篇文章主要介绍了如何在Linux(CentOS 7)命令行模式安装VMware Tools,具有一定的参考价值,感兴趣的小伙伴们可以参考一下. 本例中为在Linux(以CentOS 7为例)安装VM ...