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.关系型数 ...
随机推荐
- [CentOS7] minimal安装后 出现 没有ifconfig 无法ping 无法yum could not retrieve mirrorlist http://mirrorlist.centos.org/
刚以minimal方式安装完CentOS,打算看下ip,结果ifconfig没找到(后来得知可以用ip addr查看本机ip) 于是yum grouplist, 结果出现could not retri ...
- Mysql导入导出数据库11111
导出: 通过命令行 在MYSQL中的bin文件夹的目录下 输入:D:\phpStudy\MySQL\bin>mysqldump -uroot -p 数据库名 > 导出的文件名 导入: 需 ...
- Environment Perception: 3D Truss Environment Mapping and Parametric Expression Extraction
Experiments Preparation roscore rosrun pcl_ros pcd_to_pointcloud ~/.ros/wh2_lg707070_1ms0.01_filtere ...
- 前端编码规范 -- css篇
合理的避免使用ID 一般情况下ID不应该被应用于样式. ID的样式不能被复用并且每个页面中你只能使用一次ID. 使用ID唯一有效的是确定网页或整个站点中的位置. 尽管如此,你应该始终考虑使用class ...
- Educational Codeforces Round 52F(树形DP,VECTOR)
#include<bits/stdc++.h>using namespace std;int n,k;vector<int>son[1000007];int dp[100000 ...
- Educational Codeforces Round 52E(构造,快速幂)
#include <bits/stdc++.h>using namespace std;const int mod=998244353;long long b[200007];long l ...
- Unity 着色器训练营(2) - MVP转换和法线贴图
https://mp.weixin.qq.com/s/Qf4qT15s9bWjbVGh7H32lw 我们刚刚公布了Unity 2018.1中,Unity将会内置可视化编程工具Shader Graph, ...
- 清北刷题冲刺 10-30 p.m
少女 #include<iostream> #include<cstdio> #include<queue> #include<cstdlib> #de ...
- Nacos深入浅出(九)
然而Nacos的发布操作并不是上面我们想的那样通过代理去实现,通过下面的代码我们分析下: public class NacosConfigurationPropertiesBindingPostPro ...
- java socket 网络通信 指定端口的监听 多线程 乱码
Java Socket编程 对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket.服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了.首 ...