数据库知识点总结

数据库基础数据库 (DB) 数据库管理系统(DBMS) 数据库管理员(DBA) 数据模型 层次模型(一对多) 网状模型(多对多) 关系模型 以记录组成或二维数据表的形式组织数据表格中的一行称为一个记录,一列称为一个字段,每列的标题称为字段名在关系表中,如果一个字段或几个字段组合的值可唯一标识其对应的记录,则称该字段或字段组合为码通常可指定一个码为主码,一般用下横线标出主码。数据模型按不同的应用层次分为3个类型 概念模型 常用的是E-R模型E-R模型把每一类数据
摘要由CSDN通过智能技术生成

数据库知识点总结

目录

第一章 数据库基础

第三章 MySQL数据库和表

第四章 MySQL查询和视图

第五章 MySQL索引与数据完整性约束

第七章    MySQL过程式数据库对象

第八章  MySQL数据库备份与恢复

第九章  MySQL安全管理

第十章 MySQL多用户事务管理


第一章 数据库基础

  1. 数据库 (DB)
  2. 数据库管理系统(DBMS)
  3. 数据库管理员(DBA)
  4. 数据模型
    1. 层次模型(一对多)
    2. 网状模型(多对多)
    3. 关系模型

以记录组成或二维数据表的形式组织数据

表格中的一行称为一个记录,一列称为一个字段,每列的标题称为字段名

在关系表中,如果一个字段或几个字段组合的值可唯一标识其对应的记录,则称该字段或字段组合为码

通常可指定一个码为主码,一般用下横线标出主码。

  1. 数据模型按不同的应用层次分为3个类型
    1. 概念模型

常用的是E-R模型

E-R模型把每一类数据对象的个体称为“实体”,把每一类对象个体的集合称为“实体集”

实体集A和实体集B之间存在各种关系,通常把这些关系成为“联系”

矩形——实体型

椭圆或圆角矩形——属性

菱形——联系

线段连接实体集与属性,当一个属性或树形组合指定为主码时,在实体集与属性的连接线上标记一条斜线。

两个实体集A和B之间的联系可能是以下三种情况之一:

 

17.删除表

       drop table if exists myxs2;

18.数据类型

       (1)整形

              tinyint           1     在MySQL中,布尔类型实际上是tinyint(1)。

              smallint         2

              mediumint    3

              int/integer     4

              bigint            8           

              加上unsigned 关键字,定义成无符号的类型

       (2)浮点型

                     单精度浮点数(float和real)   6位有效数字的准确性

                     双精度浮点数(double)          16位有效数字的准确性

       (3)位型

                     bit数据类型可用来保存位字段值

                     bit(m)类型允许存储m位值,m取值为1-64,默认值为1

                     bit其实就是存入二进制的值,类似于010110

                     位数少于m值,则左补0

       (4)字符串类型

                     char(n)     会截断尾部的空格

                     varchar(n)  长度小于4的varchar被系统改变为char

                     tinytext(n)

                     text

                     mediumtext  

                     longtext

 

                     char的上限是255字节,varchar的上限为65535字节,text的上限为6355字节

       (5)二进制串类型

                     binary

blob

       (6)日期和时间类型

                     date类

                     time类

                     year类

       (7)其他类型

                     枚举类型       enum(成员1,成员2,…)

                     集合类型       set(成员1,成员2,…)

19.数据类型属性

       (1)auto_increment

       (2)binary

       (3)default

       (4)index

       (5)not null

       (6)null      

       (7)unique

(8)primary key

(9)zerofill

(10)identity

20.插入新记录

       与字段名相对应

insert into xs(学号,姓名,专业名,出生日期,总学分,照片)添加照片的两种方式:

                     values(‘081101’,‘王林’,‘计算机’,‘1994-02-10’,50,‘D:\image\picture,jpg’);

                                                                                    load_file(‘D:\image\picture,jpg’)

       若要添加全部,列名可以省略

       Insert into xs

                     Values(‘081101’,‘王林’,‘计算机’,default,‘1994-02-10’,50,null,null)

       也可用set子句来实现

       Insert into xs

                     Set 学号=‘081101’,姓名=‘王林’,专业名=‘计算机’,性别=default,出生日期=‘1994-02-10’,总学分=50;

21.用已有表记录插入当前表记录

       create table xs1 like xs;

insert into xs1

              select * from xs;

 

22.替换旧记录

       如果存在相同的记录,则replace语句可以在插入数据前将与新纪录冲突的旧记录删除,从而使新纪录能够替换旧记录,正常插入数据。

       replace into xs

              values(‘081211’,‘刘华’,‘通信工程’,1,‘1995-03-08’,48,null,null);

23修改记录

       修改单个表

              update xs

                     set 总学分=总学分+1;

              update xs

                     set 学号=‘081250’,备注=‘辅修计算机专业’

                     where 姓名=‘刘华’;

       修改多个表

              update xs,xs1

                     set xs.总学分=xs.总学分+4,xs1,总学分=xs1.总学分+4

                     where xs.学号=xs1.学号;

24.删除记录

       从单个表中删除   

delete from xs1

                     where 姓名=‘刘华’;

       从多个表中删除行

              delete xs,xs1

                     from xs,xs1

                     where xs.学号=xs1.学号;

              或者

              Delete from xs,xs1

                            using xs,xs1

                            where xs.学号=xs1.学号;

25.清除表数据

       将删除指定表中的所有数据,与不带where子句的delete语句相同,均能删除表中所有行。

              truncate table xs;

  1. 一对一的联系(1:1)
  2. 一对多的联系(1:n)
  3. 多对多的联系(m:n)
    1. 逻辑模型
    2. 物理模型
  4. C/S(客户/服务器)架构  B/S(浏览器/web服务器/数据库服务器)架构

第三章 MySQL数据库和表

  1. 1.数据库可以看成一个存储数据对象的容器,表是最基本的数据对象,是存放数据的实体

  2. 2.查看MySQL已有的数据库

           show databases

    3.MySQL的数据存储区将以目录方式表示MySQL数据库

    4.设置字符集

           如果在MySQL环境下采用下列命令设置了字符集,每个数据库创建时不需要单独重新设置

           set character_set_database=‘gbk’

           set character_set_server=‘gbk’

    5.登录MySQL数据库

           mysql -u root -p;

    6.创建数据库

           create database if not exists xscj;

                  使用if not exists子句可不显示错误信息

    7.使用数据库

           use xscj;

           在MySQL中,每条SQL语句都以;作为结束标志

    8.修改数据库(修改数据库参数)

           alter database xscj

           default character set GB2312    修改默认的字符集

           default collate GB2312_CHINESE_CI;   修改校对规则

    9.删除数据库

           drop database xscj;

    10.表是数据库存放数据的对象实体

    11.temporary关键字表示用create命令新建的表是临时表,不加关键字创建的表通常是持久表。临时表生命周期较短,只能对创建它的用户可见,当断开与该数据库的连接时,MySQL会自动删除。

           auto_increment:设置自增属性

           primary key 设置为主键,一个表只能定义一个主键,主键一定要为not null。

    12.创建一个学生情况表

           use xscj;

           create table xs

           (

                  学号              char(6)      not null  primary key,

                  姓名              char(8)      not null

                  专业名           char(10)    null,

                  性别              tinyint(1)   not null  default 1,

                  出生日期       date              not null

                  总学分           tinyint(1)   null,

                  照片              blob              null,

                  备注              text               null

           )engine=innodb;

          

    engine=innodb 表示采用的存储引擎是innodb,innodb是MySQL在windows平台中的默认存储引擎,所以engine=innodb也可省略

     

    13.显示当前数据库包含的表

           show tables;

    14.显示表结构

           desc xscj;

    15.复制现成的表

           使用like关键字创建一个与原表名相同结构的表,但表的内容不会复制,因此创建的新表是一个空表

                  create table xs1 like xs;

           使用as关键字可以复制表的select语句,但索引和完整性约束是不会赋值的

                  create table xs2 as(select * from xs);

    16.修改表结构

           更改原有表的结构

                  增加新列              alter table xs2 add column 考评 tinyint null;

                  重命名列名           alter table xs2 change 考评 考评分 tinyint;

                  更改数据类型       alter table xs2 modify 考评分 integer not null;

                  删除列                  alter table xs drop column 姓名;

                  更改表名

  3. alter table xs2 rename to xs_2;
  4. rename table xs1 to myxs,xs_2 to myxs2;

第四章 MySQL查询和视图

1.视图是由一个或多个基本表导出的数据集合,可以根据用户的需要创建视图

2.关系运算的特点:运算的对象和结果都是表

3.选择运算:

       (1)是单目运算,从表中选出满足条件的行形成一个新表作为运算结果

       (2)选择运算的记号σF(R)

                     σ是选择运算符

                     下标F是一个条件表达式

                     R是被操作的表

4.投影运算

       (1)是单目运算,从表中选定指定的属性值组成一个新表

       (2)ΠA(R)

              A是属性名(列名)表

              R是表名

5.连接运算

       (1)等值连接(有重复属性)

                     某些列值相等,这样的连接为等值连接,记为R▷◁FS

                     R,S是被操作的表,F是条件

       (2)自然连接(去除重复属性) 简称为 :连接

                     要求两个表有共同属性(列),记为R▷◁S

6.select语句

       结果通常是生成一个临时表

      

  1. 定义列别名

select 学号 as ‘student number’,姓名 as name,总学分 as mark

         from xs

         where 专业名=‘计算机’;

自定义列标题中含有空格时,必须使用引号将标题括起来。

                     不允许在where子句中使用列别名

  1. 替换查询结果的数据
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值