关系数据库标准语言SQL

基本概念

  1. SQL语言是一个功能极强的关系数据库语言。同时也是一种介于关系代数与关系演算之间的结构化查询语言(Structured Query Language),其功能包括数据定义、数据查询、数据操纵和数据控制

  2. SQL的特点:

    1)综合统一:集数据定义、数据查询、数据操纵和数据控制等多种功能于一体。

    2)高度非过程化 :面对象的设计

    3)面向集合的操作方式 :操作对象是集合,并且操作结果也是集合

    4)两种使用方式,统一的语法结构 :既是一种独立的语言,又是一种嵌入式的语言,(嵌入式是指嵌入别的高级语言)。

    5)简洁易学

数据库的创建与基本概念

一、创建数据库:

代码:

create database Student;        --创建数据库
use Student;                    --使用数据库
drop database Student;          --删除数据库

注意:

1)两种注释方式:(1)两个减号--,注释单行 (2)/* */注释多行

2)不能再当前数据库删除当前数据库

数据类型:

注意:

1)一个属性采用何种数据类型由两部分决定:(1)该属性的取值范围;(2)该属性做何种运算。

模式的创建与删除

模式,一个独立于数据库用户的非重复命名空间,在这个空间中可以定义该模式包含的数据库对象,例如基本表、视图、索引等。

代码:

/** 创建模式zhang,下键表student*/
create schema zhangcreate table student(Sno char(9) primary key,Sname varchar(20) unique,Ssex char(4) not  null,Sage smallint,Sdept varchar(5)      );/** 删除模式中的表*/
drop table zhang.student;/** 删除模式*/
drop schema zhang;    --注意前提该模式下无对象

注意:

1)删除模式的时候首先应当将模式下的所有对象删除,才能删除该模式

2)在删除某个非dbo模式下的表时,需要加模式名

3)该模式不是三级模式两级映像中的模式,而是相当于一个命名空间(主要可以解决重名的问题)

4)CASCADE(级联):删除模式的同时把该模式中所有的数据库对象全部删除(SQL Server不支持)

5)RESTRICT(限制):只有当该模式中没有任何下属的对象时才能执行

表的定义、删除与修改

一、创建表(三张):(1)学生表(Student)(2)课程表(Course)(3)学生课程表(SC)

1)学生表(Student)

代码:

/** 未添加数据*/
create table student
(Sno char(9) primary key,          --primary key   指示主码Sname varchar(20) unique,         --unique        指示值唯一,Ssex char(4) not  null,           --not null      该值非空Sage smallint,Sdept varchar(5)
);

2)课程表(Course)

代码:

/** 创建课程表*/
create table Course
(Cno char(2) primary key,Cname varchar(10) unique,Cpno char(2),                --Cpno是外码,参照的是自身的CnoCcredit smallint,foreign key (Cpno) references Course(Cno)     --外码
);

3)学生-课程表

代码:

/** 创建学生-课程表*/
create table SC
(Sno char(9),Cno char(2),Grade int,primary key(Sno, Cno),            --多个属性列构成主码,写在最后foreign key(Sno) references student(Sno),    --外码, 每个外码写一行foreign key(Cno) references Course(Cno)
);

注意:

1)创建表的时候需要考虑三个完整性约束条件:实体完整性,参照完整性,用户自定义完整性

2)两种完整性约束条件的定义方式:

  • 列级完整性约束条件:涉及相应属性列的完整性约束条件,在属性列的后边定义。

  • 表级完整性约束条件:涉及一个或多个属性列的完整性约束条件 ,在将属性列完之后定义。

3)外码要和所参照的主码类型相同。表级完整性约束的时候属性列需要加括号。

二、修改表

增加列

alter table student add graduation date;
/*
1. 指定要修改的表
2. add关键字
3. 新增列的属性名
4. 新增列的数据类型
*/

删除列

alter table student drop column graduation;

修改列的数据类型

alter table student alter column graduation varchar(20); 

增加约束

/*这种增加约束的方法不容易从左边的框框(键)中看出来*/
alter table student add unique(graduation);/*给增加的约束自定义了一个别名,容易区分*/
alter table student add constraint S_un unique(graduation);/*注意*/
--1. 不可以使用增加not null约束,想要添加只可以在设计中将勾去掉
--虽然以下的方式看似添加了not null约束,但是不起任何作用
alter table student add constraint cc check(sname is not null);--2. 给某一属性列添加主键,需要保证该属性列不允许为空,刚建的新表在未加约束的情况下,默认属性列允许为空值
alter  table  student  add primary key(sno,cno);--3. 添加外键,需要保证外码和被参照表的主属性的数据类型保持一致
alter  table  student  add foreign key (sno) references student(sno);

删除约束

/*通过指定的约束名字删除指定的约束*/
alter table student drop constraint S_un;/*在左边单机右键删除*/

三、删除表

/*删除表的时候必须先将参照表干掉,再删除被参照表*/
drop table student;

索引的建立与删除

建立索引的目的是加快数据查询的速度。DBA或者表的属主可以根据需要建立表的索引;但是有些DBMS可以自动建立以下索引,1)PRIMARY KEY索引(聚簇索引)2)UNIQUE索引(唯一性索引)

一、创建索引

/*创建唯一性索引*/
/** stu为索引名字,创建索引必须要有一个索引名* 列名后面紧跟排序类型,ASC为升序,DESC为降序,默认为ASC,可以有多个列,用逗号隔开。* 对于已经包含重复值的属性列不可以增加唯一性索引
*/
create unique index S_nn on student(graduation asc);/*创建聚簇索引(聚集)*/
Create  clustered index stu on student(sage desc);
/** 聚簇索引的关键字为clustered,不是书上有误,而是sqlserver是这样* 同样,列名后面紧跟排序类型,可以有多个列,用逗号隔开。* 聚簇索引严格按照物理存储位置来排序。* 不可以在有主键的表中创建索引* 一个表只能创建一个聚簇索引
*/

二、删除索引

/*注意:删除索引必须为表名+索引名*/
drop  index  student.stu

关系数据库——sql基础1定义相关推荐

  1. pl/sql基础知识—定义并使用变量

    n  介绍 在编写pl/sql程序是,可以定义变量和常量:在pl/sql程序中包括有: ①标量类型(scalar) ②复合类型(composite) ③参照类型(reference) ④lob(lar ...

  2. 【数据库系统】第一部分 数据库基础(3) 关系数据库标准语言SQL(3) 数据定义

    本文属于「数据库系统」系列文章之一,这一系列着重于「数据库系统知识的学习与实践」.由于文章内容随时可能发生更新变动,欢迎关注和收藏数据库系统系列文章汇总目录一文以作备忘.需要特别说明的是,为了透彻理解 ...

  3. 数据库期末总结笔记(零基础)-第三章 关系数据库SQL

    第三章 关系数据库SQL 三.SQL查询 1.基本查询格式 select [distinct] (去重)所查内容 from 所查询的表(可多个)where 要求条件 例:查计算机科学系全体学生 sel ...

  4. SQL基础(定义|基本语句|基本函数)

    目录 一.SQL定义 1.1 SQL定义 1.2 可执行操作 1.3 主要关键词 1.4 数据库表 1.5 重要事项 1.6 DML与DDL 二.重要DML语句 2.1 SELECT 2.2 WHER ...

  5. 【SAP Hana】X档案:SAP HANA SQL 基础教程

    SAP HANA SQL 基础教程 1.SQL 标准简介 2.HANA STUDIO 的安装 3.HANA STUDIO 的设置 4.HANA SQL 基础教程 (1)查看表数据 (2)查看表结构 ( ...

  6. SQL基础教程|第一章:数据库和SQL

    前言: 1.本书在知识点提炼时侧重于实践效果,所以有些理论部分的知识点不会涉及或者几笔带过. 2.在语法实践时将会带入更多的例子和问题以便于理解数据库语法. 3.在所有关于SQL基础教程的文章中的语句 ...

  7. [读书笔记]《SQL基础教程》

    <sql基础教程>这本书里面讲的内容大部分都是几个主流数据库(mysql.sql server.oracle)之间的共同点,知识点比较基础,适合sql入门学习.但对于已经系统学过数据的人来 ...

  8. SQL基础系列(一)——基本概念

    在几年前学习sql的时候,直接上手开始学习sql语句,但是忽略了sql(structured query language)的本质其实是关系型数据库的语言.在使用这些语言之前,必须对一些基本的概念有大 ...

  9. 数据库基础与SQL基础知识看这篇就够了!

    一.数据库简介 1. DBMS(DataBaseManagement System,数据库管理系统)和数据库数据库Schema有两种含义,一种是概念上的Schema,指的是一组DDL语句集,该语句集完 ...

最新文章

  1. 为什么你问问题,别人都已读不回?
  2. 03、NavMesh--导航网格寻路
  3. SQL Server 2005 学习笔记之触发器简介[转]
  4. ASP.NET Web API中的Controller
  5. 在Spring 4.2中更简单地处理异步事务绑定事件
  6. 【深度好文】ICLR 2022 | cosFormer:重新思考注意力机制中的Softmax
  7. 【Kafka】如何判断一个kafka集群是否稳定
  8. 小白用python处理excel文件-Python读、写Excel文件(三种模块三种方式,小白也可学会)...
  9. osea/ introduction
  10. java实现SPFA算法
  11. beanshell断言_Beanshell断言
  12. windows对计算机硬件有要求吗,win10对硬件有什么要求_win10硬件配置有哪些要求
  13. 总有一项适合你:联想 Miix2 8寸版触摸屏失灵的各项解决方案
  14. 电影《后悔无期》的经典段子
  15. Android Studio 个性化主题配置。
  16. MacBook pro新手教程
  17. 销售额与营收“双增长”背后:金科“稳”字诀的勇气、底气与机遇
  18. B. Alyona and a Narrow Fridge
  19. java和python中函数式编程
  20. 1228|如何用ALV输出完成SAP报表

热门文章

  1. autotools使用
  2. 新浪云python示例_Python Web框架Flask中使用新浪SAE云存储实例
  3. 域用户更改密码提示拒绝访问_AD域中的ACL攻防探索
  4. php标准输出重定向,python标准输出重定向方式
  5. postgis创建空间数据库(pgadmin4)
  6. 【转】二、VTK用于QT的安装
  7. 【转】刨根究底字符编码之四——EASCII及ISO 8859字符编码方案
  8. C#的变迁史01 - C# 1.0篇
  9. 第二节:重写(new)、覆写(overwrite)、和重载(overload)
  10. 天猫精灵方糖拆解报告和芯片详解