Oracle数据库概念和一些基本的SQL语句
1、数据
定义:描述事物的符号。例如:文本、音频、视频都是数据。
2、数据库
存放数据的仓库,存放在计算机中,按照一定格式存放,可以为用户共享。
3、数据库的发展阶段
1、网状数据库
2、层次数据库
3、关系数据库(目前主流数据库)
4、对象数据库
4、NOSQL数据库
4、Oracle数据库系统用户(管理员)
scott账户:测试账户,练习账户
登录方式:dos命令行---->sqlplus--->输入账户:scott--->输入密码---->(登录成功)
如果该账户被锁定,需要在sysdba超级账户解锁
sysdba账户:超级账户,拥有最高权限,Oracle默认的系统管理员。在该账户下把别的账户加锁或解锁。
登录方式:直接在dos命令行输入sqlplus / as sysdba(注意空格)即可
加锁:alter user 账户名 account lock;
解锁:alter user 账户名 account unlock;
查看当前账户:show user;
5、表名和列名命名规范和数据类型
1、必须以字母开头
2、只能包含字母、数字、_#$
3、不能使用保留字oracle
4、不能与用户定义的其他对象重名
数据类型见表
类型 |
含义 |
存储描述 |
备注 |
CHAR |
固定长度字符串 |
最大长度2000bytes |
|
VARCHAR2 |
可变长度的字符串, |
最大长度4000bytes |
可做索引的最大长度749 |
NCHAR |
根据字符集而定的固定长度字符串 |
最大长度2000bytes |
|
NVARCHAR2 |
根据字符集而定的可变长度字符串 |
最大长度4000bytes |
|
DATE |
日期(日-月-年) |
DD-MM-YY(HH-MI-SS),经过严格测试,无千虫问题 |
|
TIMESTAMP |
日期(日-月-年) |
DD-MM-YY(HH-MI-SS:FF3),经过严格测试,无千虫问题 |
与DATE相比较,TIMESTAMP有小数位秒信息 |
LONG |
超长字符串 |
最大长度2G,足够存储大部头著作 |
|
RAW |
固定长度的二进制数据 |
最大长度2000bytes |
可存放多媒体图象声音等 |
LONG RAW |
可变长度的二进制数据 |
最大长度2G |
可存放多媒体图象声音等 |
BLOB |
二进制数据 |
最大长度4G |
|
CLOB |
字符数据 |
最大长度4G |
|
NCLOB |
根据字符集而定的字符数据 |
最大长度4G |
|
BFILE |
存放在数据库外的二进制数据 |
最大长度4G |
|
ROWID |
数据表中记录的唯一行号 |
10bytes |
********.****.****格式,*为0或1 |
NROWID |
二进制数据表中记录的唯一行号 |
最大长度4000bytes |
|
NUMBER(P,S) |
数字类型 |
P为整数位,S为小数位 |
|
DECIMAL(P,S) |
数字类型 |
P为整数位,S为小数位 |
|
INTEGER |
整数类型 |
小的整数 |
|
FLOAT |
浮点数类型 |
NUMBER(38),双精度 |
|
REAL |
实数类型 |
NUMBER(63),精度更高 |
6、建表语法以及常见SQL语句
(1)、建表:create table 表名(列名 数据类型,列名 数据类型,...);
例:create table stus(stu_id number(10), stu_name varchar2(20));
(2)、查看表结构:desc 表明
例:desc stus;
(3)、添加新列:alter table 表名 add(列名 数据类型);
例:alter table stus add(stu_class varchar2(20));
(4)、删除列:alter table 表明 drop column 列名
例:alter table stua drop column stu_class;
(5)表改名字:alter table 旧表名 rename to 新表名
例:alter table stus rename to stu;
(6)、列改名字:alter table 表名 rename 旧列名 to 新列名;
例:alter table stu rename stu_id to stu_no;
(7)、修改列的数据类型:alter table 表名 modify(列名 数据类型);
例:alter table stu modify(stu_name number(20));
(8)、添加主键:
表建立完成以后,指定列为主键
前提是:没有null的数据&&没有重复的数据。
alter table 表名 add constraint(约束,限制) PK_表名_指定的列名 primary key(指定的主键那一列);
例:alter table stu add constrain PK_stu+stu_no primary key(stu_no);
也可以在创建表的时候就添加主键
create table stu(stu_id number(20) primary key not null);
(9)、删除表
方式1:drop table 表名 例:drop table stu(把整个彻底删除)
方式2:truncate table 表名 (删除表中的数据);
(10)、往表中添加数据:insert into 表名(列1,列2..) values(值1,值2....);
例: insert into stu(stu_id,stu_name) values(1,'张三');
Oracle数据库概念和一些基本的SQL语句的更多相关文章
- 《万能数据库查询分析器》实现使用SQL语句直接高效地访问文本文件
<万能数据库查询分析器>实现使用SQL语句直接高效地访问文本文件 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要 用SQL语句来直接访问文本文件?是在做梦吗? ...
- ORACLE中用rownum分页并排序的SQL语句
ORACLE中用rownum分页并排序的SQL语句 以前分页习惯用这样的SQL语句: select * from (selectt.*,rownum row_num frommytable t ord ...
- 如何在Oracle中一次执行多条sql语句 (.net C#)
关键是不能换行,要加上begin ...sql... end; 每个SQL用:隔开,end后面必须加: 以下是拷贝于:http://www.cnblogs.com/teamleader/arc ...
- 缓存策略 半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis
springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用 - FoolFox - CSDN博客 https://blog.csdn.net ...
- 数据库MySQL经典面试题之SQL语句
数据库MySQL经典面试题之SQL语句 1.需要数据库表1.学生表Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学 ...
- 一次性删除数据库所有表和所有存储过程 SQL语句
一次性删除数据库所有表和所有存储过程 SQL语句 今天转移数据库数据,需要把数据库原来的表和存储过程清空.删除所有的表:如果由于外键约束删除table失败,则先删除所有约束: --/第1步****** ...
- Oracle数据库该如何着手优化一个SQL
这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异. 所以有时候我们应该先 ...
- oracle数据库、客户端安装以及ps/sql连接和导入表实例
从下面的网址下载http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098 ...
- ORACLE 数据库的级联查询 一句sql搞定(部门多级)
在ORACLE 数据库中有一种方法可以实现级联查询 select * //要查询的字段 from table //具有子接点ID与父接点I ...
随机推荐
- 简易版DES加密和解密详解
在DES密码里,是如何进行加密和解密的呢?这里采用DES的简易版来进行说明. 二进制数据的变换 由于不仅仅是DES密码,在其它的现代密码中也应用了二进制数据,所以无论是文章还是数字,都需要将明文变换为 ...
- Python之编写登录接口
作业:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 帐号文件account.txt内容如下: liuyueming 123zhangsan 123lisi 123 锁文件acc ...
- [刷题]算法竞赛入门经典(第2版) 4-2/UVa201 - Squares
书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 代码:(Accepted,20 ms) #include<iostream> #include<cs ...
- JAVA进程占用CPU分析
在一次生产环境中,服务器负载报警,SSH登录上看到CPU占用很高. 1.执行top命令,看到进程号为9737的进程持续占用CPU 2.怀疑是否是进程配置的内存不够了,引发了fullGC导致CPU占用高 ...
- TCP协议详解---上
TCP头格式 注意以下几点: TCP的包是没有IP地址的,那是IP层上的事.但是有源端口和目标端口. 一个TCP连接需要四个元组来表示是同一个连接(src_ip, src_port, dst_ip, ...
- Python lambda 表达式有何用处,如何使用?
在看Python教程的时候,被 lambda 的解释给难住了,之前没有这么用过. 在<简明Python教程>上的解释: [摘录如下:] lambda语句被用来创建新的函数对象,并且在运行时 ...
- CountDownLatch——闭锁的实现之一
CountDownLatch实际上是一种闭锁实现.闭锁:是一种同步工具类,可以延迟线程的进度知道其到达终止状态--<Java并发编程实战>.这个怎么解释呢?简单来说,就是有1个线程需要等待 ...
- Vuejs实例-01使用vue-cli脚手架搭建Vue.js项目
[TOC] 1. 前言 vue-cli 一个简单的构建Vue.js项目的命令行界面 整体过程: $ npm install -g vue-cli $ vue init webpack vue-admi ...
- 欧拉函数之HDU1286找新朋友
找新朋友 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submissi ...
- Kotlin学习第一课:从对比Java开始
1. 介绍 今年初,甲骨文再次对谷歌所谓的安卓侵权使用Java提起诉讼,要求后者赔偿高达90亿美元.随后便传出谷歌因此计划将主力语言切换到苹果主导的Swift,不过这事后来没了跟进. 但谷歌在这两天的 ...