《MySQL必知必会》—— 1. SQL相关概念,2. MySQL简介 以及 样例表的创建脚本

MySQL下载官网:https://dev.mysql.com/downloads/

pdf资料:http://www.notedeep.com/note/38/page/282

1. SQL相关概念

数据库(database):保存有组织的数据的容器

数据库管理系统(DBMS):创建和操纵数据库的软件,MySQL是DBMS的一种。

结构化查询语言(SQL):用来和数据库通信的语言。某标准协会设定,几乎所有DBMS都支持。

表(table):某种特定类型数据的结构化清单。表名在一个数据库中不可以重复。

模式(schema):定义了数据在表中如何存储。

列(colume):表中的一个字段。表中每一列存储一种特定的信息。每列应该有相应的数据类型(datatype)。

行(row):表中的一条记录(record)。

主键(primary key):一列或多个列,可以唯一区分表中每一行。设计数据库应该确保每个表都有主键。条件:任意两行的主键值都不能相同(多个列为主键时,其组合值必须时唯一的);每行都必须有主键值(主键列不可以为NULL);最好不要将可能会更改值的列设为主键。

2. MySQL简介

MySQL基于客户机-服务器的DBMS。

数据库服务器:负责所有数据访问和处理

数据库客户机:和服务器通信,可以是MySQL提供的工具和其他程序语言。

版本变化:

4 —— InnoDB引擎,增加事务处理、并、改进全文本搜索。

5 —— 存储过程、触发器、游标、视图

8 —— 性能提升,提供 NoSQL 存储功能,改进了对 JSON 的支持...

MySQL命令行:

用 ; 结尾

输入help 或 /h获得帮助,或者 help 加命令,如 help select

quit和exit退出

数据库和模式的区别:
https://blog.csdn.net/FallingU/article/details/78955707

1个数据库下,可以有多个模式。
1个模式下,可以有0个或多个表 。

我们可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间,Table可以看作是每个Schema中的床,Table就被放入每个房间中,不能放置在房间之外。然后床上可以放置很多物品,就好比Table上可以放置很多列和行一样。所以Schema包含的是Object,而不是User。

User是每个对应数据库的主人,既然有操作数据库的权利,就肯定有操作数据库中每个Schema(房间)的权利。换句话说,如果他是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是他的,他有完全的操作权,。我们还可以给User分配具体的权限,也就是他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了,至于分配权限的问题,后面章节有介绍。

为什么把表归属于不同的模式里?https://wenku.baidu.com/view/4e994735f111f18583d05a27.html

       例如你的数据库里面有很多的表。就以一个学校作为例子吧:

  有很多表分别用于存储学生、课程、成绩、学分等信息。

  还有很多表用于存储 老师、工资、奖金等信息。

  还有很多表用于存储学校的固定资产、流动资产、财务相关信息。

  如果这么多的表,都混杂在一起。管理起来非常麻烦。

  通过 create schema , 划分区域,

   把学生的,创建一个 schema 叫 Student

  教师的,创建一个 schema 叫 Teacher

  学校财务的,创建一个 schema 叫 School

  这样,对于专门负责学生信息管理的,就只负责 Student 这个 schema,表名全部是 Student.具体表名。

  对于,负责教师系统开发的人来说,程序里面的表名,都是Teacher.具体表名。

  学校财务的也是一样,查询的时候,是:SELECT * FROM School.具体表名

附录 —— 官网中创建表格和表格填充的脚本,用于创建本书中的样例表:

########################################
# MySQL Crash Course
# http://www.forta.com/books/0672327120/
# Example table creation scripts
########################################


########################
# Create customers table
########################
CREATE TABLE customers
(
  cust_id      int       NOT NULL AUTO_INCREMENT,
  cust_name    char
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值