Oracle数据库基础--建表语法+操作
语法
1、建表
create table 表名(
列名 数据类型,
……
);
2、删除表:drop table 表名;
3、添加列:alter table 表名 add(列名 数据类型);
4、修改列:alter table 表名 rename column 原列名 to 列名;
5、修改数据类型:alter table 表名 modify 列名 数据类型;
6、删除列:alter table 表名 drop column 列名;
7、添加注释
添加表注释:comment on table 表名 is '表注释;
添加字段注释:comment on column 表名.列名 is '列注释';
8、添加约束
添加主键约束:alter table 表名 primary key(列名);
添加唯一约束:alter table 表名 constraint 约束名 unique(列名);
(主键约束和唯一约束的区别:主键约束:唯一标识,不能为空。唯一约束:唯一标识,只能有一个值为空)
非空约束:alter table 表名 modify(列名 constraints);
9、插入数据:insert into(列名,……)values(数据,……);
注意,oracle中不能直接写入日期函数
插入时间:to_date('2018-1-4 15:53:34','YYYY-MM-DD HH24:MI:SS')
插入当前时间:sysdate
下面是我做的一个例子,应用到了上面的语法:
--student表
create table student(
stu_id varchar2(10) primary key,
stu_name varchar2(10) not null,
stu_sex varchar2(2) not null,
stu_birthday date,
class_id number
);
--添加表注释
comment on table student is '学生信息表';
--字段添加注释
comment on column student.stu_id is '学号(主键)';
comment on column student.stu_name is '学生姓名';
comment on column student.stu_sex is '学生性别';
comment on column student.stu_birthday is '学生出生年月';
comment on column student.class_id is '学生所在班级'; --sclass表
create table sclass(
class_id number primary key,
class_name varchar2(10) not null
);
comment on table sclass is '班级信息表';
comment on column sclass.class_id is '班级编号';
comment on column sclass.class_name is '班级名称'; --添加外键
alter table student add constraint fk_class_id foreign key(class_id) references sclass(class_id); --添加数据
insert into sclass(class_id, class_name)values(1,'计应1401');
insert into sclass(class_id, class_name)values(2,'计网1401');
insert into sclass(class_id, class_name)values(3,'软件1401');
insert into student(stu_id, stu_name, stu_sex, stu_birthday, class_id)values('A001','张珊','女',to_date('1995-10-02','yyyy-mm-dd'),1) ;
insert into student(stu_id, stu_name, stu_sex, stu_birthday, class_id)values('A002','李思','女',to_date('1995-10-02','yyyy-mm-dd'),1) ;
insert into student(stu_id, stu_name, stu_sex, stu_birthday, class_id)values('A003','王武','女',to_date('1996-10-02','yyyy-mm-dd'),2) ;
insert into student(stu_id, stu_name, stu_sex, stu_birthday, class_id)values('A004','赵柳','女',to_date('1996-12-02','yyyy-mm-dd'),3) ;
insert into student(stu_id, stu_name, stu_sex, stu_birthday, class_id)values('A005','赵柳','女',sysdate,3) ;
Oracle数据库基础--建表语法+操作的更多相关文章
- Oracle数据库基础知识_字符串操作相关2
6.LPAD,RPAD 作用:左/右边的字符串填充一些特定的字符语法: LPAD(string , n, [pad_String]) string:可是字符或者参数 ...
- 第一章 oracle数据库基础
第一章 oracle数据库基础 1.oracle简介-->数据库管理系统 1.1:数据库 1.2:全局数据库名 1.3:数据库实例 1.4:表空间 1.5:数据 ...
- Oracle数据库基础入门《二》Oracle内存结构
Oracle数据库基础入门<二>Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...
- Oracle数据库基础入门《一》Oracle服务器的构成
Oracle数据库基础入门<一>Oracle服务器的构成 Oracle 服务器是一个具有高性能和高可靠性面向对象关系型数据库管理系统,也是一 个高效的 SQL 语句执行环境. Oracle ...
- hive 标准hql建表语法格式
一.标准hql建表语法格式1.官方标准语法:(hql不区分大小写,下面[]里的属性是可选属性) 具体参考官网界面:HIVE官网建表说明文档 CREATE [EXTERNAL] TABLE [IF NO ...
- Oracle数据库基础操作语法
转载自:https://www.cnblogs.com/fallen-seraph/p/10685997.html 一.登录Oracle数据库 首先运行Oracle数据库: 默认的有两个账号: 管理员 ...
- Oracle 数据库基础:数据查询与操作
SELECT uname FROM TUser WHERE uname=‘admin’ SELECT 字段名列表 FROM 表名 WHERE 条件; 在Oracle数据库中,对象是属于模式的,每个账户 ...
- Oracle数据库基础知识
oracle数据库plsql developer 目录(?)[-] 一 SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...
- Oracle 数据库基础——安装
一.数据库基础知识 1.概念 数据库全称数据库管理系统,简称DBMS,是一种在计算机中,针对数据进行管理.存储.共享的一种技术. 2.分类 数据库的发展过程中,按逻辑模型可分为以下几种: 3.关系型数 ...
随机推荐
- 注解:java 自定义注解应用实例
本例子旨在使用自定义注解为实体打上标记,为自动生成 sql 提供依据,模拟 hibernate 的注解,至于注解的原理自己搜吧 1.定义 Table 注解 package test; import j ...
- 项目中gulp使用发生的错误及解决
在项目开发中,执行gulp css来生成合成的css文件时,报如下错误 Error: Cannot find module 'browserslist' 解决方法: npm install brows ...
- 3. 从零开始学CSRF
为什么要拿CSRF来当“攻击手法系列”的开头篇呢?因为CSRF/XSRF我个人喜爱他的程度已经超过XSS了.如果说XSS是一个老虎,那么CSRF就是隐藏在暗处的蛇. 相信现在很多人不明 ...
- 数学建模美赛O奖论文总结
Anil S. Damle Colin G. West Eric J. Benzel University of Colorado–Boulder Boulder, CO Advisor: Anne ...
- opesntack基础知识-软件包历史脉络
软件包管理 软件包管理是每个OpenStack项目的基础,其目的是用来将项目代码打包成源码包或者二进制包进行分发.一个项目的代码可能会被打包放到PyPI上,这样你可以通过pip命令安装这个包:也可能会 ...
- MATLAB实现插值和拟合
插值问题在应用领域中,由有限个已知数据点,构造一个解析表达式,由此计算数据点之间的函数值,称之为插值.实例:海底探测问题某公司用声纳对海底进行测试,在5×5海里的坐标点上测得海底深度的值,希望通过这些 ...
- luogu1975 排队(分块)
luogu1975 排队(分块) 给你一个长度为n的序列,每次交换给定的两个数,输出每次操作后的逆序对个数. 首先考虑求出刚开始的逆序对.接着相当于带修改的求区间中比x大的数. 可以用分块,每个块内排 ...
- 洛谷P3147 [USACO16OPEN]262144
P3147 [USACO16OPEN]262144 题目描述 Bessie likes downloading games to play on her cell phone, even though ...
- SLF4J、Log4J使用记录
程序中一直在用log4j,之前都没了解过,只知道是打印日志信息的.最近独立新建了几个开发工程,发现slf4j老有冲突,开始关注起来,我用log4j打印日志,与slf4j有毛关系,怎么老冲突呢.网上找了 ...
- EOS 数据签名与公匙验证代码用例
本文编写了一个小例子诠释了EOS是如何对数据签名与校验的,通过本文可以理解了签名的重要性和数据的不可篡改性. 系统: ubuntu 版本为EOS1.1.1 注:因为本文的程序是把EOS里面的钱包和f ...