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 ...
随机推荐
- springboot热部署如果不行
如果热部署不行先看一眼 Project——>Build Automatically 看这个有没有打对勾,这是热部署的依赖
- node中fs内置模块
Node.js内置的fs模块就是文件系统模块,负责读写文件. 和所有其它JavaScript模块不同的是,fs模块同时提供了异步和同步的方法. 回顾一下什么是异步方法.因为JavaScript的单线程 ...
- ie11 div不显示背景颜色解决方案
我的一个场景就是,一个空的div,但是想加个背景颜色,方案就是在div加个空content,利用before属性加上背景<div class="hilan"></ ...
- 如何写出好的PRD(产品需求文档)(转)
作者:Cherry,2007年进入腾讯公司,一直从事互联网广告产品管理工作,目前在SNG/效果广告平台部从事效果广告的产品运营工作. PRD(Product Requirement Document, ...
- js中的时间显示
var approveTime; approveTime=new Date(da[i].approveTime).toLocaleDateString(); 结果是 xxxx年xx月xx日
- LVS之ipvsadm命令
目录: 安装 基本描述 用法 命令选项 示例 [安装] 可使用yum安装或者从官网下载安装包源码安装,两种方式皆可 先检查是否已经安装ipvsadm [root@v_machine1 ~]# yum ...
- TCP拥塞控制算法
转自浅谈TCP拥塞控制算法 本篇文章介绍了几种经典的TCP拥塞控制算法,包括算法原理及各自适用场景. 回顾上篇文章:浅谈 redis 延迟 前言 TCP 通过维护一个拥塞窗口来进行拥塞控制,拥塞控制的 ...
- 谷歌guava缓存
简易缓存,可以设置时间的缓存 private static Cache<String,String> tokenCache = CacheBuilder.newBuilder().expi ...
- Bootstrap4项目开发实战视频教程
一.企业网站项目 课件 0.课程简介 1.顶部区域的制作 2.导航区域的制作 3.轮播区域的制作 4.产品区域的制作 5.最新资讯区域的制作 6.底部区域的制作 二.化妆品网站项目 1.项目初始化_导 ...
- mysql授权指定ip远程登录
use user //更新用户表: UPDATE `user` SET `Host` = '175.6.6.230' where `Host` = '175.6.6.230'; //授权用户表: GR ...