数据库基础<三>标准语言 SQL

本文详细介绍了SQL,包括对关系数据库模式的支持、数据定义(如表的创建、修改、删除和索引操作)、数据更新(插入、修改和删除数据)、数据查询(单表查询、连接查询、嵌套查询和集合查询)以及视图的创建、查询、删除和更新。通过实例展示了SQL在数据库操作中的应用。
摘要由CSDN通过智能技术生成


1、SQL


             Structured Query Language,即结构化查询语言。 是关系数据库的标准语言。


2、sql对关系数据库模式的支持


3、数据定义

      1、SQL 的数据定义语句

           SQL 不提供修改模式定义、修改视图定义和修改索引定义的操作,若想修改需先删掉再重建。

       2、模式的定义与删除

             a、定义模式

                   create schema <模式名> authorization <用户名>;

                   如果没有指定 模式名,隐含为 用户名。

                   实例:

                   在 mysql 中定义模式(即创建数据库)语句为:

creater schema wtf;

/*或者使用:*/

creater database wtf;  /*常用*/

          b、删除模式

                drop schema <模式名> <cascade | restrict>;

                其中 cascade(级联)表示删除数据库及其中所有对象一起删除,restrict(限制)只有数据库中没有对象时才能删除。

                实例:

                在 mysql 中 删除数据库语句为:(mysql是直接删除整个数据库,相当于 cascade)

drop schema wtf;

/*或者使用: */

drop database wtf;  /*常用*/

      3、定义基本表


              建表的同时通常还可以定义与该表有关的完整性约束条件,如

primary key 指示为主键,unique 指示取唯一值,not null 指示为非空。还可以指定外码如:

create table sc(
 sno char(7),
 cno char(4),
 grade smallint,
 primary key(sno,cno),/*主码*/
 foreign key (sno) references student(sno),
 /*表级完整性约束条件,标明外码及其被参照表*/
 foreign key (cno) references course(cno)
);

     4、SQL 数据类型

           要注意,不同的  RDBMS 中支持的数据类型不完全相同

           SQL主要数据类型如下:

数据类型 含义
char(n) 长度为 n 的定长字符串
varchar(n) 最大长度为 n 的变长字符串
int 长整数(也可写作 integer)
smallint 短整数
numeric(p,d) 定点数,由 p 位数字(不包括符号、小数点)组成,小数点后面有 d 位数字
real 取决于机器精度的浮点数
double precision 取决于机器精度的双精度浮点数
float(n) 浮点数,精度至少为 n 位数字
date 日期, 包含年月日,格式为 YYYY-MM-DD
time 时间,包含时分秒,格式为 HH:MM:SS

        

       5、模式与表

            每一个基本表都属于某一个模式,一个模式包含多个基本表

            定义基本表时,定义它所属的模式的方法如下:

                 a、在表名中明显的给出模式名

                       如:create  table "S-T".student(......);

                 b、在创建模式语句中同时创建表

                 c、设置所属模式

                       如:设置搜索路径: set search_path to "S-T",public;

           在 mysql 中可以使用: use 数据库名;  来指定使用哪个数据库

       6、修改基本表

            alter table <表名>

            [ add <新列名> <数据类型> [完整性约束] ]

            [ drop <完整性约束名> ]

            [ alter column <列名> <数据类型>  ];

            实例:

           

alter table student add sage int;

alter table student alter column sage smallint;

           mysql 中:


       7、删除表

            drop table < 表名 > [ cascade | restrict ];

            mysql 中 则直接删除整个表数据,相当于 cascade

       8、建立索引

            建立索引是加快查询速度的有效手段,

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值