Mysql - Mysql的建表建库

目录

Mysql5.7官方参考文档:MySQL :: MySQL 5.7 Reference Manual

SQL语言说明文档:

数据库里存在的包含关系:

Mysql建表建库:

1、Mysql如何建库:

什么是主键?

展示mysql里存在的数据库:

Mysql默认字符集是:latin1 拉丁文

如何修改为utf8字符集呢,我们可以通过在mysql里的配置文件里添加character-set-server=utf8

如何查看MySQL支持的字符集:

​编辑查看Mysql里所有服务正在使用的字符集: 

查看建库的时候使用的SQL语句:

2、Mysql如何建表:

表里包含了:

下图即为创建表的命令:

插入字段:

我们如何查看表结构:

查看建表语句,可以很清楚的看到建表使用的字符集为utf8 引擎为InnoDB

 删除Mysql数据库(本质上是删除/data/mysql文件夹下的jiacai文件夹)

3、下面我们就来练习一下如何建表:

建立表:

       sc_student

       字段:姓名、性别、年龄、专业、电话号码、地址、岗位、城市、公司名字、出生日期、工资

1、首先我们先请进入mysql

2、我们创建sc库用来存放表格

3、创建sc_student表格 

4、查看表格是否建立成功

5、插入数据

6、查询数据 

4、我们如何根据已有表来创建新表呢


Mysql5.7官方参考文档:MySQL :: MySQL 5.7 Reference Manual

SQL语言说明文档:

Mysql - Mysql的建表建库_第1张图片

数据库里存在的包含关系:

库  --》 表  --》记录

database

table

records

因此我们可以把数据库结构近似看为文件结构:

库 --》文件夹

表 --》文件

记录 --》文件里的一行文本

Mysql建表建库:

1、Mysql如何建库:

Mysql - Mysql的建表建库_第2张图片

TABLE是关键字,可以不区分大小写,但是表名区分大小写。

Mysql - Mysql的建表建库_第3张图片

什么是主键?

主键:其实本质上是由一个或者多个字段组合而成,不允许出现重复的数据 --》可以理解为特定的角色

复合主键:多个字段组成的主键。

是不是每一个表都必须要一个主健呢?

并不是必须都使用主键,但是推荐使用主键。

展示mysql里存在的数据库:

root@(none) 04:10  mysql>create database yangyujuan;    #创建数据库yangyujuan
Query OK, 1 row affected (0.00 sec)

root@(none) 04:12  mysql>show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| yangyujuan         |
+--------------------+
5 rows in set (0.01 sec)

root@(none) 04:12  mysql>

下图即为存放mysql数据的地方,我设置的是在/data/mysql目录下

Mysql - Mysql的建表建库_第4张图片

其中的db.opt是什么意思呢:这个文件里存放的是这个库里的字符集和校对规则(database option)(字符集:很多字符的集合如GBK UTF-8等)(校对规则:)

Mysql默认字符集是:latin1 拉丁文

如何修改为utf8字符集呢,我们可以通过在mysql里的配置文件里添加character-set-server=utf8

Mysql - Mysql的建表建库_第5张图片

如何查看MySQL支持的字符集:

Mysql - Mysql的建表建库_第6张图片查看Mysql里所有服务正在使用的字符集: 

Mysql - Mysql的建表建库_第7张图片

字符集继承优先级问题 : 服务器 --》 库 --》表 --》列

查看建库的时候使用的SQL语句:

Mysql - Mysql的建表建库_第8张图片

从中我们就可以明显的看到,我们创建库使用的字符集是UTF8.

2、Mysql如何建表:

表里包含了:

字段:标题的名字 (field)

行:(row)

列 :(column)

下图即为创建表的命令:

插入字段:

但是如果我们设置的数据库的字符集不为utf8或者gbk等包含中文的字符集,那就会报如下错误。 

我们如何查看表结构:

Mysql - Mysql的建表建库_第9张图片

查看建表语句,可以很清楚的看到建表使用的字符集为utf8 引擎为InnoDB

Mysql - Mysql的建表建库_第10张图片 字符集只对字符串类型的字符进行校对规则

 删除Mysql数据库(本质上是删除/data/mysql文件夹下的jiacai文件夹)

3、下面我们就来练习一下如何建表:

建立表:

       sc_student

       字段:姓名、性别、年龄、专业、电话号码、地址、岗位、城市、公司名字、出生日期、工资

1、首先我们先请进入mysql

Mysql - Mysql的建表建库_第11张图片

2、我们创建sc库用来存放表格

 Mysql - Mysql的建表建库_第12张图片

3、创建sc_student表格 

Mysql - Mysql的建表建库_第13张图片

其中 primary key表示主键,而auto_increment表示自增(自我增加),not null表示不为空

4、查看表格是否建立成功

查看建表命令

Mysql - Mysql的建表建库_第14张图片

查看是否存在sc_student表格

Mysql - Mysql的建表建库_第15张图片

 查看表格数据类型(可用desc代替describe)Mysql - Mysql的建表建库_第16张图片

5、插入数据

Mysql - Mysql的建表建库_第17张图片

6、查询数据 

Mysql - Mysql的建表建库_第18张图片

 最后可以发现我们成功的插入了数据,并且展示到了界面之中了。

4、我们如何根据已有表来创建新表呢

Mysql - Mysql的建表建库_第19张图片

现在我们有如下表格: 

Mysql - Mysql的建表建库_第20张图片接下来我想要根据上面的表格产生一个新的表格,我们应该怎么办呢?

我们先使用上图所示的语法1来创建新表:

Mysql - Mysql的建表建库_第21张图片

如图所示,我们只复制了表结构,但是没有复制表内的数据。

因此我们可以使用语法2,它既可以复制表结构,也可以复制表内的数据(非空约束数据)

Mysql - Mysql的建表建库_第22张图片如图所示,我们成功的复制了sc_student表格里的格式和数据。

你可能感兴趣的:(mysql,数据库,sql)