MySQL数据库基础

文章介绍了数据库的基本概念,包括数据库管理系统DBMS,数据库系统,以及数据库的发展历程。详细阐述了关系型数据库的规则,如数据完整性规则和数据库范式。还讨论了MySQL中的系统数据库和不同类型的数据库文件。此外,文章提到了数据类型,如整数、浮点数、字符串、日期时间等,并讲解了条件约束,如主键、非空、唯一性和外键约束。
摘要由CSDN通过智能技术生成

目录:

        一、数据库的概念

        二、数据库管理

        三、数据库使用

            1、创建数据库

            2、数据类型

            3、条件约束

一、数据库概念

什么是数据?

        QQ、微信的聊天记录(信息)、图片、视频、音乐、文件、游戏装备、网店商品等都可以称为数据。

操作系统定义的数据:文件就是数据。

数据库定义的数据:信息记录,游戏账号信息,图片,声音,视频,文件。可以集中存储,分类,管理的信息。

什么是数据库?

        数据库本身是一个文件,该文件以仓库的方式存储信息记录。

数据库管理系统:

        用于创建、修改数据库、对数据信息进行查询、管理、统计等工作,数据库管理系统是一个软件,用于管理数据库。

数据库系统:

        通过   C语言、java等 调用数据库中的信息。

        

数据库发展史:

        第一代网状和层次型数据库       

        第二代关系型数据库 MySQL就是关系型数据库

        第三代非关系型数据库

关系型数据的规则

1.数据完整性规则:

实体完整性:设置表中的字段为主键,不能为空,不能重复。

域完整性:字段完整性或列完整性,指定字段中的类型相同。

引用完整性:当两张表相互建立关系时,引用的字段中数据必须相同。

自定义完整性:用户定义指定字段中的数据范围。

2.数据库范式:

建立数据库的规范格式

第一范式:将字段分割成不可分割的子项。

第二范式:在满足第一范式后,每张表只记录一件事。用表把功能划分开。

第三范式:在满足第一第二范式后,当多张表建立引用关系时,尽量减少重复字段。
 

常用的非关系型数据库:

Hbase:列式存储

redis:键值存储

mongodDB:分布式文件存储

neo4j:图形数据库,将数据以节点方式表示,建立节点之间的关系

二、数据库管理。

MySQL中的系统数据库:

master:存储数据库管理系统的结构,用户,密码,权限,其他数据库的结构与信息。

model:存储数据库中的模板

msdb:代理服务数据库,用于记录其他软件的功能,在数据库中调用,报警,任务调度。

tempdb:临时数据库,平时tempdb中是空的

数据库文件类型:

主数据文件 .mdf : 包含数据库结构与信息
日志文件 .ldf :  包含所有事务日志,记录对库中数据的增加,修改,删除操作。

次要数据文件,辅助文件  .ndf :当主文件的数据写满时,多出的数据会写入的辅助文件中。辅助文件中没有数据库结构。

三、数据库的使用。

1、创建数据库:

方法一:创建数据库命令行创建M5库。(--是单行注释 , /* 是范围注释 */ )

方法二: 图形化创建。

右击数据库——创建新数据库。

名字和其他设置自定。


2、数据类型:

① 精准数字:

        整数型:bigint  8字节存储。

                      int  4字节存储。

                      smallint  2字节存储。

                      tinyint  1字节存储,0-255之间的正整数。  

        位数型:bit  只存储 0和1  或null(是一个标记)

        小数型:decimal    格式:decimal(8,2)   8代表总长度  2代表小数点后面位数 

                      mumeric

        货币型:money  8字节存储。

                      smallmoney  4字节存储。

② 近似数字:
            float :浮点数值  8字节存储
            real  :4字节存储

③ 字符串:
            char:  固定长度的非Unicode字符,最大8000字符,当数据不满足定义长度时,添加空格进行占位。读写速度快,占用空间大。
            varchar: 不固定长度的非Unicode字符,最大8000字符,不添加占位空格。
            text:  存储大型的字符数据,20亿字符


④ unicode字符串:
           nchar:     固定长度,最大4000字符
            nvarchar:  不固定长度,最大4000字符
            ntext:     最大10亿字符


⑤ 二进制字符串:
            binary:   以固定长度的二进制格式存储图片。
            varbinary:  以不固定长度的二进制格式存储图片。
            image:   存储大图片

⑥ 日期时间型:
            date  : 日期,格式年-月-日,
            time  : 时间,小时:分钟:秒
            datetime : 日期时间   年-月-日 小时:分钟:秒


③ 条件约束:格式:表列、数据类型、条件约束。

        主键约束:  primary key       

        每张表中只能建立一个主键约束,主键字段中的记录在表中具有唯一性,数据库查询到记录后不再使用遍历查询的方式继续查询数据。定义主键约束的字段,会将所有记录写入内存中,建立主键索引。记录不能为空。

            创表时添加:   create table 表名 ( 字段名  数据类型  primary key,- - - 

  在已有的表上添加:alter table 表名 alter column 字段名 数据类型 not null      --先非空约束
                                 alter table 表名 add constraint 约束名 primary key (字段名)     --在主键约束


        联合主键: primary key

               联合主键是逻辑上将两个字段和成一个,同时具备:唯一、非空、两个特性。

              创建时:constraint 约束名称 primary key (字段名1,字段名2)

              已有时:alter table 表名 add primary key   (字段名1,字段名2);

                 或者:alter table add  constraint 约束名称 primary key  (字段名1,字段名2);

       删除主键:alter table 表名  drop  primary  key;


       非空约束:not null

             创建时:  create table 表名 (字段名 数据类型 not null,- - -

             已有时:  alter table 表名 alter column 字段名 数据类型 not null;    

       删除非空:方法一:alter table 表名 modify 字段名 数据类型 null;

                         方法二:alter table 表名 drop constraint 约束名


       唯一性约束:unique        

             创建时:  create table 表名 (字段名 数据类型 unique,- - -

             已有时:  alter table 表名 add constraint 约束名  unique (字段名);    

删除唯一约束:方法一:drop index 约束名 on 表名

                        方法二:alter table 表名 drop index 约束名


       检查约束:check (sex='男'or sex='女') 或 check (gl>=0and gl<=30)     che 约束名

           创建时:create table 表名字段名 数据类型  check (sex='男'or sex='女')  - - -  #男或女

           已有时:alter table 表名 add constraint 约束名  check (gl>=0and gl<=30);    # 0 到 30 之间

删除检查约束:alter table 表名 drop constraint 约束名


       默认约束:default '  '

           创建时:create table 表名字段名 数据类型 default '男' not null,- - -    #在加一个非空也可以

           已有时:alter table 表名 add constraint def default '1' for 字段名           #默认为 1

删除默认约束:alter table 表名 drop constraint 约束名


       外键约束:(一张表中可以有一个主键、多个外键!主外键:名称 数据类型 必须一致)

          创建时格式:constraint 约束名 foreign key(列名) references 主外键表名(列名)
                              constraint 约束名 foreign key(列名) references 主外键表名(列名))

          已有时:      alter table 外键表名    
          添加格式:  add constraint 起名 foreign key(列名) references jiguan 主外键表名(列名) 

删除外键约束:

                        方法一:alter table 外键表名 drop constraint 外键约束名  

                        方法二:alter table 主外键表名 drop constraint 约束名 


添加数据:

方法一:

insert into biao10 (id,name ,sex,age)                        #表名和列名
           select 1,'王1','男',20

union  select 2,'王2','女',30 

union  select 3,'王3','女',25

方法二:

insert into biao10  (id,name,sex,age)                        #表名和列名
values (1,'张1','女',21)
insert into biao10  (id,name,sex,age)
values (2,'张2','女',19)
insert into biao10  (id,name,sex,age)
values (3,'张3','女',21)

创建表,后边加本列的数据类型。

 

查看表。

* 是代表所有biao10 的数据。(数据还没添加所以没有)

使用别名查看更容易看懂。

 

 可以看到这张表的所有信息。

 向表指定列添加数据。

 修改某列的名称,越早修改越好因为到后面建立关联后会造成影响。

 

                               

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值