oracle——学习之路(SQL基础)
使用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基础)的更多相关文章
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- Python学习之路-Day2-Python基础2
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
- Python学习之路-Day1-Python基础
学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...
- Python学习之路-Day2-Python基础3
Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...
- 学习笔记:oracle学习三:SQL语言基础之sql语言简介、用户模式
目录 1.sql语言简介 1.1 sql语言特点 1.2 sql语言分类 1.3 sql语言的编写规则 2.用户模式 2.1 模式与模式对象 2.2 实例模式scott 本系列是作为学习笔记,用于记录 ...
- oracle学习之路(四) ---------PL/SQL 表,二维数组(TABLE)
LOB类型 ORACLE提供了LOB (Large OBject)类型.用于存储大的数据对象的类型.ORACLE眼下主要支持BFILE, BLOB, CLOB 及 NCLOB 类型. NCLOB 存储 ...
- 学习笔记:oracle学习三:SQL语言基础之检索数据:简单查询、筛选查询
目录 1. 检索数据 1.1 简单查询 1.1.1 检索所有列 1.1.2 检索指定的列 1.1.3 查询日期列 1.1.4 带有表达式的select语句 1.1.5 为列指定别名 1.1.6 显示不 ...
- Oracle数据库之PL/SQL基础
介绍PL/SQL之前,先介绍一个图像化工具:Oracle SQL Developer 在oracle的开发过程中, 我们难免会使用第三方开发的软件来辅助我们书写SQL, pl/sql是一个不错的sql ...
随机推荐
- 利用状态机(FSM)进行简单的uart串口发送数据
module uart_tx(clk,rst_n,key,txd); input clk; input rst_n; input key; output reg txd; :] state; :] b ...
- 2016 Multi-University Training Contest 1 部分题解
第一场多校,出了一题,,没有挂零还算欣慰. 1001,求最小生成树和,确定了最小生成树后任意两点间的距离的最小数学期望.当时就有点矛盾,为什么是求最小的数学期望以及为什么题目给了每条边都不相等的条件. ...
- Python选择指定文件夹的文件然后复制出其中几个文件到新的文件夹
""" 要求: 1.读取cdm文件的所有子文件夹,然后每个文件夹里面是抽出一个一个mp3后缀的文件. 遍历所有的子文件,然后将这些mp3文件,保存到一个新的文件夹.文件夹 ...
- dubbo服务层面上的负载均衡和高可用
dubbo上的服务层可以做集群,来达到负载均衡和高可用,很简单,只需要在不同的服务器节点上向同一个zk(内网环境)注册相同的服务 注意就是,消费者不能在同一个zk做这种集群操作的 转载请注明博客出处: ...
- phpinfo中敏感信息记录
比赛中或者渗透中如果遇到phpinfo,从里面发现的一些线索能够对后续的渗透和解题帮助很大,这里记录总结一下目前网上比较常用的的. 下图来源于:https://seaii-blog.com/index ...
- Python datetime库计算两个时间点之间的分钟(秒、天)数
计算两个时间点之间的分钟数 import datetime def minNums(startTime, endTime): '''计算两个时间点之间的分钟数''' # 处理格式,加上秒位 start ...
- leetcode25 K 个一组翻转链表
这道题关于链表的操作,中间指针操作略复杂. /** * Definition for singly-linked list. * struct ListNode { * int val; * List ...
- Spring事务注解分析
1.使用spring事务注解 2.手写事务注解 1).sql执行器 2).事务注解定义 3).AOP实现事务具体实现(同一个线程中使用同一个连接) 4).应用使用注解前 5).应用使用注解后
- LC 980. Unique Paths III
On a 2-dimensional grid, there are 4 types of squares: 1 represents the starting square. There is e ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_4-01 常用的服务间调用方式讲解
笔记 第四章 服务消费者ribbon和feign实战和注册中心高可用 1.常用的服务间调用方式讲解 简介:讲解常用的服务间的调用方式 RPC: 远程过程调用,像调用本地 ...