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语句的更多相关文章

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

    <万能数据库查询分析器>实现使用SQL语句直接高效地访问文本文件 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要    用SQL语句来直接访问文本文件?是在做梦吗? ...

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

    ORACLE中用rownum分页并排序的SQL语句 以前分页习惯用这样的SQL语句: select * from (selectt.*,rownum row_num frommytable t ord ...

  3. 如何在Oracle中一次执行多条sql语句 (.net C#)

    关键是不能换行,要加上begin ...sql... end;     每个SQL用:隔开,end后面必须加: 以下是拷贝于:http://www.cnblogs.com/teamleader/arc ...

  4. 缓存策略 半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis

    springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用 - FoolFox - CSDN博客 https://blog.csdn.net ...

  5. 数据库MySQL经典面试题之SQL语句

    数据库MySQL经典面试题之SQL语句 1.需要数据库表1.学生表Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学 ...

  6. 一次性删除数据库所有表和所有存储过程 SQL语句

    一次性删除数据库所有表和所有存储过程 SQL语句 今天转移数据库数据,需要把数据库原来的表和存储过程清空.删除所有的表:如果由于外键约束删除table失败,则先删除所有约束: --/第1步****** ...

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

    这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异. 所以有时候我们应该先 ...

  8. oracle数据库、客户端安装以及ps/sql连接和导入表实例

    从下面的网址下载http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098 ...

  9. ORACLE 数据库的级联查询 一句sql搞定(部门多级)

    在ORACLE 数据库中有一种方法可以实现级联查询   select  *                //要查询的字段 from table              //具有子接点ID与父接点I ...

随机推荐

  1. 利用GROUP_CONCAT和GROUP BY实现字段拼接

    在开发过程中遇到这样的一个需求,通过GROUP BY分组归类后将同属性的字段进行拼接. 表结构为: id value a b c a b 需要得到结果: id value a,b,c a,b 一开始在 ...

  2. JS-监听文本回车事件写入数据表单

    场景   ERP系统扫描输入货品编号到文本框后,触发写入记录到数据表格,并对数据进行渲染.   解决方案 通过发现回车或者换行符,则写入数据表格   代码 //监听文本框输入事件 $('#gidinp ...

  3. Android 6.0的权限问题

    Android 6.0的权限获取不同于别的版本,具体的实例如下: if (ContextCompat.checkSelfPermission(this, Manifest.permission.REA ...

  4. 更快的理解js中循环嵌套

    [循环控制语句] break语句:终止本层循环,继续执行循环后面的语句:(当循环有多层时,break只会跳出一层循环) continue语句:跳过本次循环,继续执行下次循环: (对于for循环,con ...

  5. Redis入门学习

    一.摘要 二.五种数据类型的基本命令操作 三.Redis连接池 四.普通同步方式 五.事务方式(Transactions) 六.管道(Pipelining) 七.管道中调用事务 八.分布式直连同步调用 ...

  6. Visual Studio 2017 针对移动开发的新特性介绍

    欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~ Visual Studio是世界上最好的IDE之一,如果是 .NET世界,那就没有之一了(^_^),而最近推出的Visual S ...

  7. JUnit之断言assert

    一.简介 JUnit4.4引入了Hamcrest框架,Hamcest提供了一套匹配符Matcher,这些匹配符更接近自然语言,可读性高,更加灵活: 使用全新的断言语法:assertThat,结合Ham ...

  8. TensorFlowSharp入门使用C#编写TensorFlow人工智能应用

    TensorFlowSharp入门使用C#编写TensorFlow人工智能应用学习. TensorFlow简单介绍 TensorFlow 是谷歌的第二代机器学习系统,按照谷歌所说,在某些基准测试中,T ...

  9. swift学习 - 单例实现(singleton)

    swift中实现单例的方式 class LGConfig: NSObject { static let instance = LGConfig() private override init() { ...

  10. .Net程序员学用Oracle系列(29):PLSQL 之批量应用和系统包

    1.批量数据操作 1.1.批量生成数据 1.2.批量插入数据 2.批量生成脚本 3.生成数据字典 4.常见系统包 4.1.DBMS_OUTPUT 4.2.DBMS_RANDOM 4.3.其它系统包及常 ...