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,‘张三‘);

时间: 2024-10-12 15:07:18

Oracle数据库概念和一些基本的SQL语句的相关文章

《万能数据库查询分析器》实现使用SQL语句直接高效地访问文本文件

<万能数据库查询分析器>实现使用SQL语句直接高效地访问文本文件 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要    用SQL语句来直接访问文本文件?是在做梦吗? 本文详细地介绍了"万能数据库查询分析器",中文版本<DB 查询分析器>.英文版本<DB Query Analyzer>在 文本文件处理方面非常强大的功能,你可以直接用SQL语句来访问这些文本文件,访问250万条记录的文件的复杂的关联操作,也不过用时59秒钟.需要注意

ORACLE中用rownum分页并排序的SQL语句

ORACLE中用rownum分页并排序的SQL语句 以前分页习惯用这样的SQL语句: select * from (select t.*,rownum row_num from mytable t order by t.id) b where b.row_num between 1 and 10 结果发现由于该语句会先生成rownum 后执行order by 子句,因而排序结果根本不对,后来在GOOGLE上搜到一篇文章,原来多套一层select 就能很好的解决该问题,特此记录,语句如下: sel

Oracle数据库该如何着手优化一个SQL

这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异.所以有时候我们应该先搞清楚需求到底是什么,SQL本身是否合理,这些思考很可能会使优化工作事半功倍.而本文是假设SQL本身合理,从Oracle提供给我们的一些技术手段来简单介绍下Oracle数据库,该如何使用一些现有的技术来优化一个SQL执行的性能. 确定需要优化的SQL文本及当前SQL执行计划 确定SQL涉及的所有表及其

【故障处理141119】一次数据库不繁忙时一条sql语句2个运行计划导致业务超时的故障处理

1,故障描写叙述: 一条select有两个运行计划.在sqlplus中运行选择好的运行计划.仅仅要40毫秒.而在程序中运行选择了差的运行计划,要1分23秒左右,导致前台业务超时报错. 2.故障解决: 使用outline固定好的运行计划后攻克了该故障. 3,故障发展顺序: (1),早上一上班,说CRM的一个业务报错,crm应用开发者.接口的.tuxdo.dba集中到一起開始诊断错误. (2),业务返回超时错误 (3),数据库这边抓取AWR报告发现例如以下信息: (4),此时应用开发者也发过来了该条

JDBC之java数据库的连接与简单的sql语句执行

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Test { /** * @param args */ public static void main(String[] args) { /*这部分是用java驱动连接oracle数据库,驱动的jar可以自己在网上下载,也可以给我留言,发给你*/

SQL学习笔记之数据库专题(一):SQL语句详解

SQL是用来存取关系数据库的语言,具有查询.操纵.定义和控制关系型数据库的四方面功能.常见的关系数据库有Oracle,SQLServer,DB2,Sybase.开源不收费的有MYSQL,SQLLite等.今天我们主要以MYSQL为例子,讲解SQL常用的SQL语句. 一.数据库 1.创建数据库 create database [if not exists] db_name [character set xxx] [collate xxx] *创建一个名称为freedom的数据库. create d

SQLSERVER数据库、表的创建及SQL语句命令

SQLSERVER数据库,安装.备份.还原等问题: 一.存在已安装了sql server 2000,或2005等数据库,再次安装2008,会出现的问题 1.卸载原来的sql server 2000.2005,然后再安装sqlserver 2008,否则经常sql server服务启动不了 2.sql server服务启动失败,解决方法: 进入sql serverconfigure manager,点开 Sql server 网络配置(非sql native client 配置),点sqlzhh(

数据库学习笔记3--基本的SQL语句

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4028178.html [正文] 主要内容: 一.cmd命令行的常用命令 二.数据定义语言(DDL) 三.数据操纵语言(DML) 四.数据查询语言(DRL) 五.事务控制语言(TCL) 一.cmd命令行的常用命令: 当我们使用MySQL 5.5 Command Line Client这个客户端登陆时

ORACLE中能否找到未提交事务的SQL语句

  在Oracle数据库中,我们能否找到未提交事务(uncommit transactin)的SQL语句或其他相关信息呢?  关于这个问题,我们先来看看实验测试吧.实践出真知. 首先,我们在会话1(SID=63)中构造一个未提交的事务,如下所: SQL> create table test   2  as   3  select * from dba_objects;   Table created. SQL> select userenv('sid') from dual;   USEREN