MySQL学习笔记(第一天)

什么是数据库?

数据库(Database,简称DB)概念:长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”。

作用:可以存放,管理数据。

分类: 可以分为关系型数据库(MySQL)和NoSQL数据库。

关系型数据库有 Oracle , PostgreSQL,MySQL等

NoSQL数据库有 redis, mongoDB

特点

1.操作便捷 , 适合中小型甚至大型网站应用

2.小巧,功能齐全

3.免费开源的数据库

4.可运行于windows或linux系统

数据库结构分类

1.数据库(Database):以文件的形式存放在磁盘上,即对应于一个或多个物理文件

2.数据表(Table):简称表,由一组数据记录组成,数据库中的数据是以表为单位进行组织的。

3.字段(Field):也称域,表中的每一列称为一个 字段,每个字段都有相应的描述信息。

4.记录(Record):表中的每一行称为一个记录,它由若干个字段组成。

5.索引(Index):索引实际上是一种特殊类型的表,含有关键字段的值和指向实际记录位置的针,提高访问数据库的效率。

6.SQL语句:结构化查询语句命令,用来从一个或多个表中获取一组指定的记录,或者对某个表执行指定的操作。

SQL语句分类

        SQL语句,即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一 种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库 脚本文件的扩展名。

SQL语句示例说明

注意:SQL语法不区分大小写, 空格换行也不影响语法结构。

对库的操作语句

创建一个库  create database 库名;

查看库  show databases;

删除库(危险操作) drop database 库名

使用库(选择库)  use 库名;

建表语法

create table 表名(

`字段名` 数据类型 字段属性 "注释",

`字段名` 数据类型 字段属性 "注释",

`字段名` 数据类型 字段属性 "注释"

);

注意:“``” 当前符号为反引号,用于区别MySQL保留字与普通字符而引入的。

查看表结构

1.  DESC  表名

2.  show create table person;

注:engine=myisam  数据引擎

字段类型

char和varchar比较
数据库存储引擎
-InnoDB
  MySQL从3.23.34a开始就包含InnoDB存储引擎。 大于等于5.5之后,默认采用InnoDB引擎。
InnoDB是MysQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务。可以确保事务的完整提交(Commit)和回滚(Rollback)。
  • 除了增加和查询外,还需要更新、删除操作,那么,应优先选择InnoDB存储引擎。
  • 除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。
  数据文件结构:
  • 表名.frm存储表结构(MySQL8.0时,合并在表名.ibd中)。
  • 表名.ibd存储数据和索引
应用场景:
   InnoDB是为处理巨大数据量的最大性能设计。
-MyISAM
   MyISAM提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但MyISAM不支持事务、行级锁、外键,有一个毫无疑问的缺陷就是崩溃后无法安全恢复。
5.5之前默认的存储引擎
   • 优势是访问的速度快,对事务完整性没有要求或者以SELECT、INSERT为主的应用
   • 针对数据统计有额外的常数存储。故而count(*)的查询效率很高
数据文件结构:
  • 表名.frm存储表结构。
  • 表名.MYD存储数据(MYData)。
  • 表名.MYI存储索引 (MYIndex)
应用场景:
  只读应用或者以读为主的业务。
MyISAM 和InnoDB区别
修改数据库表
修改表名格式:
alter table 旧表名 rename as 新表名 
添加字段格式:
alter table 表名 add 字段名 数据类型 字段属性;
修改字段格式:
1.mindify
alter table 表名 modify 字段名 要修改的类型 要修改的属性;
2.change
alter table 表名 change 旧字段名 新字段名 要修改的类型 要修改的属性;
注:change可以修改字段名,而mindify不行。

三大范式

第一范式:遵循原子性。即,表中字段的数据,不可以再拆分

第二范式: 在满足第一范式的情况下,遵循唯一性,消除部分依赖。即,表中任意一个主键或意一组联合主键,可以确定除该主键外的所有的非主键值。

 注:  一个表只能描述一件事情。

第三范式: 在满足第二范式的情况下,消除传递依赖。即,在任一主键都可以确定所有非主段的情况下,不能存在某非主键字段 A 可以获取 某非主键字段 B

 注:   第三范式确保主键列之间没有传递函数依赖关系,也就是消除传递依赖。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值