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 ...
随机推荐
- IOS开发常用的基础方法
.//退出键盘 [self.view endEditing:YES]; 隐藏手机上方的状态栏 -(BOOL)prefersStatusBarHidden{ return YES; } //获取当前控制 ...
- zabbix监控docker
[toc] 1.下载模版 然后把模版放到/usr/local/lib/zabbix/agent下 github地址内含监控模版 2.修改 zabbix-agentd 配置文件 vim /usr/loc ...
- hdu1150 Machine Schedule 经典二分匹配题目
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1150 很经典的二分题目 就是求最小点覆盖集 二分图最小点覆盖集=最大匹配数 代码: #include& ...
- C# 时间格式总结
C#时间/日期格式大全 C#时间/日期格式大全,C#时间/日期函数大全 有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06- ...
- Mybatis的mapper文件引起模块划分的思考
起因:项目中将公用的代码抽离到单独一个项目 cms-common.jar (注:公用的代码不只是工具类代码,包含service和dao等) 构建:每次构建项目 cms.war 的时候,需要引入cms- ...
- 第1 章MySQL 基本介绍
第 1 章 MySQL 基本介绍 前言: 作为最为流行的开源数据库软件之一,MySQL 数据库软件已经是广为人知了.但是为了照顾对MySQL还不熟悉的读者,这章我们将对 MySQL 做一个简单的介 ...
- 011一对一 唯一外键关联映射_单向(one-to-one)
² 两个对象之间是一对一的关系,如Person-IdCard(人—身份证号) ² 有两种策略可以实现一对一的关联映射 主键关联:即让两个对象具有相同的主键值,以表明它们之间的一一对应的关系:数据库 ...
- Java反射机制剖析(四)-深度剖析动态代理原理及总结
动态代理类原理(示例代码参见java反射机制剖析(三)) a) 理解上面的动态代理示例流程 a) 理解上面的动态代理示例流程 b) 代理接口实现类源代码剖析 咱们一起来剖析一下代理实现类($Pr ...
- 基于Spring Boot的图片上传
package com.clou.inteface.domain.web.user; import java.io.File; import java.io.IOException; import j ...
- 对RabbitMQ.Client进行一下小小的包装,绝对实用方便
RabbitMQ是一个老牌的非微软的消息队列组件,一般来说应该能满足中小型公司对消息队列生产的需求,平时我们在.NET开发环境下运用它是可能会需要RabbitMQ.Client的SDK库,此库是官网提 ...