使用create语句创建表

create table 表名

(

列名 类型 【null     |     not null】,

列名 类型 【null     |     not null】

)

在一个数据库中表名不允许重复,在同一张表中列名不允许重复,【null     |     not null】表示该列允许为空或非空,默认的情况下是非空的

举个栗子:

create table two
(
id number primary key,
nname varchar2(10) not null,
age number
)

create table productinfo
(
productid varchar2(10),
productname varchar2(20),
productprice number(8,2),
quantity number(10),
category varchar2(10),
desperation varchar2(1000),
origin varchar2(10)
)

使用Alter语句修改表

alter table 表名

add  列名| modify 列名|drop column 列名

modify 是修改一个已经存在的列名

举几个栗子:

alter table two
add sex char(3);

alter table two
modify nname varchar2(20);

alter table two
drop column sex;

drop table two;                       删除表

约束:

主键约束:每个数据表中只有一个主键约束,但是一个主键约束可以由数据表中多个列组成,关键字:primary key

create table two
(
id number primary key,
nname varchar2(10) not null,
age number
)

create table two
(
id number,
nname varchar2(10) not null,
age number,
primary key(id)
)

两种写法都可以

当然也可以用alter语句添加主键约束

alter table two
add constraint pk_name primary key(id);                                        ps:pk_name是约束名

移除约束

alter table two
drop constraint pk_name;

外键约束:可以保证使用外键约束的数据库列与引用的主键约束的数据列一致,外键约束在一个数据表中可以有多个

外键约束要在创建表的语句后面加上如下语句:

alter  table 表名

constraint ppk_name foreign key(nname) references 表名(表中的列) on delete cascade                   ps:on delete cascade 保证主键对应字段被删除时,外键对应字段也被删除

修改表结构时添加外键约束:

add constraint ppk_name foreign key(nname) references 表名(表中的列) on delete cascade

移除外键约束与一处主键约束同样

check约束:检查约束,规定每一个列能够输入的值,以保证数据的正确性

创建check约束可以在创建表的语句后面加上如下操作:

constraint constraint_name check(condition)

修改表结构时添加check约束

alter table 表名

add constraint constraint_name check(condition)

移除check约束:

alter table 表名

drop constraint constraint_name;

unique约束:唯一约束,这个设置在表中输入大的字段值都是唯一的,和主键约束非常相似,不同的是,unique约束在一张表中可以有多个

在创建表的语句后面加上如下语句即可以创建unique约束:

constraint constraint_name unique(列名)

在修改表结构时添加unique约束:

alter table 表名

add constraint constraint_name unique(列名)

移除unique约束:

同上

not null约束:非空约束,子啊创建表时添加非空约束,确保字段一定有输入值

创建not null 约束直接在字段后面直接写not null即可

修改表结构时添加not null约束:

alter table 表名

modify  列名 not null;

添加数据insert:

insert into 表名(列名1,列名2,……) values(值1,值2,……);

insert into 表名 values(值1,值2,……);

两种方法都可以,列名与值要一一对应,如果没有指明列名,那么表中有多少列都要按顺序添加顺序,没有非空约束的列可以用null值添加

也可以通过其它表来添加数据,不过要注意两张表列个数,数据类型要一致,否则会出现错误

insert into 表名(列名1,列名2,……) select 值1,值2,…… from 表2;

另一种创建表的方式:

create table 表名 as select 列名1,列名2,…… from 表2;

update修改数据:

update 表名 set  列名=新值,…… where 条件;

delete删除数据:

delete from 表名  where 条件                                                   切记不加条件就是删除全部数据,这是个灾难!

其他数据操纵语句:

truncate table 表名                        无条件删除表中全部记录,比delete更快一点

oracle——学习之路(SQL基础)的更多相关文章

  1. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  2. python学习之路-day2-pyth基础2

    一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...

  3. Python学习之路-Day2-Python基础2

    Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...

  4. Python学习之路-Day1-Python基础

    学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...

  5. Python学习之路-Day2-Python基础3

    Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...

  6. 学习笔记:oracle学习三:SQL语言基础之sql语言简介、用户模式

    目录 1.sql语言简介 1.1 sql语言特点 1.2 sql语言分类 1.3 sql语言的编写规则 2.用户模式 2.1 模式与模式对象 2.2 实例模式scott 本系列是作为学习笔记,用于记录 ...

  7. oracle学习之路(四) ---------PL/SQL 表,二维数组(TABLE)

    LOB类型 ORACLE提供了LOB (Large OBject)类型.用于存储大的数据对象的类型.ORACLE眼下主要支持BFILE, BLOB, CLOB 及 NCLOB 类型. NCLOB 存储 ...

  8. 学习笔记:oracle学习三:SQL语言基础之检索数据:简单查询、筛选查询

    目录 1. 检索数据 1.1 简单查询 1.1.1 检索所有列 1.1.2 检索指定的列 1.1.3 查询日期列 1.1.4 带有表达式的select语句 1.1.5 为列指定别名 1.1.6 显示不 ...

  9. Oracle数据库之PL/SQL基础

    介绍PL/SQL之前,先介绍一个图像化工具:Oracle SQL Developer 在oracle的开发过程中, 我们难免会使用第三方开发的软件来辅助我们书写SQL, pl/sql是一个不错的sql ...

随机推荐

  1. [python之ipython] jupyter notebook在云端服务器上开启,本地访问

    本地ssh到云端: ssh username@xxx.xxx.xxx.xxx -L127.0.0.1:7777:127.0.0.1:8888 把云端的8888端口映射到本地的7777端口 云端运行指令 ...

  2. oracle表查询

    使用scott用户中存在的emp.dept表等做演示 一.单表查询 查看表结构:desc dept; 查看所有列:select * from dept: 查询指定列:select ename,sal, ...

  3. 在linux操作系统上进行简单的C语言源码的gcc编译实验

    尝试在linux上用gcc 而非封装完好的codeblocks,vs等ide 来编译c和cpp源程序 首先查看我的gcc版本,我的是VM centos 自带的,没有的话得自行安装,安装上gcc就可以在 ...

  4. MySQL树

    树 树状图是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合.把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的. 它具有以下的特点:每个结点有零个 ...

  5. ios端浏览器拍照上传到服务器,图片被旋转90度 php 解决方案

    1.可以通过前端进行解决,本案例通过后端解决的 判断请求的浏览器的ua,如果是ios浏览器则进行90度旋转 重点来了: 必须确保检测的图片是ios设备上传的完整图片,不要在前端压缩过的,因为压缩后的图 ...

  6. Linux设备驱动程序 之 顺序锁

    当要保护的资源很小,很简单,会频繁的被访问而且写入访问很少的且必须快速时(即读不允许让写饥饿),就可以使用顺序锁(seqlock):从本质上讲,顺序锁会允许读取者对资源的自由访问,但需要读取者检查是否 ...

  7. 动态库(.so)隐藏函数名

    一.偶遇 error: undefined reference to  xxx 问题 尝试封装通用的接口到一个private.so,然后供客户端使用,private.so编译出来后由sample.cp ...

  8. CollectionUtils

    public class CollectionUtils { /** * 数组是否包含元素 * @param arr * @param str * @return */ public static b ...

  9. ExcelUtility 对excel的序列化与反序列化,支持当单元格中数据为空时将属性赋值为指定类型的默认值

    源码https://github.com/leoparddne/EPPlusHelper 安装: Install-Package ExcelUtility -Version 1.1.4 需要为对象添加 ...

  10. Smarty section、foreach控制循环次数的实现详解

    <!--{ section name='i' loop=$a }--><!--{ if $smarty.section.i.index < 3 }--><!--{  ...