SQL

每天进步一点点,珍惜时间,让生活更精细!

目前有许多DBMS产品,如Oracle、Microsoft SQL Service、Sybase 、SQLService 、informix/mySQL等等,目前市面排名前十的数据库名,如图:



数据库设计主要分为六个步骤:

1.需求分析:了解用户的数据需求,安全性及完整性要求;

2.概念设计:通过数据库抽象,设计系统概念模型,一般为E-R模型

3.逻辑结构设计:设计系统的模式和外模式,对于关系模型主要是基本表和视图

4.物理结构设计:设计数据的存储结构和存取方法,如索引的设计

5:系统实施:组织数据入库、编制应用程序、试运行

6:运行维护、长期的维护工作

最近在学习Orcale,因为有java语言基础,对于sql的代码指令接受的比较快,在学习过程中遇到了一些问题,和大家一起探讨一下:

1.怎样删除有外键约束的表?

        DROP TABLE CASCADE CONSTRAINTS

2.怎样修改表格的列名

             ALTER TABLE 表名  rename column 旧名 to 新名;

3.修改表名

            rename 旧表名 to 新表名

4.增加字段

            ALTER TABLE 表名 ASS 字段名 数据类型;

5.删除并且不能回滚

           dalete from 表名 where 条件  ----------DML语言,可以回退,可以有条件删除表名

           TRUNCATE TABLE ---------DDL语言,不可以回退,默认所有的表的内容都要删除,删除速度比delete快

6.创建表格

           CREATE TABLE 表名();

7.数据类型char、varchar、nvarchar、varchar2的区别

  1)

①char的长度是固定的,比如说,你定义了char(20),即使你你插入abc,不足二十个字节,数据库也会在abc后面自动加上17个空格,以补足二十个字节;
 
②char是区分中英文的,中文在char中占两个字节,而英文占一个,所以char(20)你只能存20个字母或10个汉字。

 ③char适用于长度比较固定的,一般不含中文的情况

①①③④⑤⑥⑦

2)varchar,varchar2

①varchar是长度不固定的,比如说,你定义了varchar(20),当你插入abc,则在数据库中只占3个字节。
 ② varchar同样区分中英文,这点同char。
  ③varchar2基本上等同于varchar,它是oracle自己定义的一个非工业标准varchar,不同在于,varchar2用null代替varchar的空字符串
  ④varchar/varchar2适用于长度不固定的,一般不含中文的情况
  ⑤nvarchar和nvarchar2是长度不固定的
  ⑥nvarchar不区分中英文,比如说:你定义了nvarchar(20),你可以存入20个英文字母/汉字或中英文组合,这个20定义的是字符数而不是字节数
  ⑦nvarchar2基本上等同于nvarchar,不同在于nvarchar2中存的英文字母也占两个字节
  ⑧nvarchar/nvarchar2适用于存放中文



8关于NO_DATA_FOUND跟%NOTFOUND


Oracle的NO_DATA_FOUND和%NOTFOUND两个保留字的用法不够了解,主要是它们从意义上是有些类似。其实它们的用法是有区别的,小结如下:
        SELECT  .  .  .  INTO  语句触发  NO_DATA_FOUND;
        当一个显示光标的 where 子句未找到时 触发 %NOTFOUND;
        当UPDATE或DELETE 语句的where 子句未找到时 触发 SQL%NOTFOUND;
        在光标的提取(Fetch)循环中要用 %NOTFOUND 或%FOUND 来确定循环的退出条件,不要用 NO_DATA_FOUND。

听视频学习的时候,对于一些语法问题,一开始比较蒙,但是,独立敲一段代码,多思考,感觉很简单,我觉得,写代码必须要有思路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值