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语言说明文档:

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

库  --》 表  --》记录

database

table

records

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

库 --》文件夹

表 --》文件

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

Mysql建表建库:

1、Mysql如何建库:

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

什么是主键?

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

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

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

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

展示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目录下

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

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

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

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

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

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

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

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

2、Mysql如何建表:

表里包含了:

字段:标题的名字 (field)

行:(row)

列 :(column)

下图即为创建表的命令:

插入字段:

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

我们如何查看表结构:

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

 字符集只对字符串类型的字符进行校对规则

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

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

建立表:

       sc_student

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

1、首先我们先请进入mysql

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

 

3、创建sc_student表格 

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

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

查看建表命令

查看是否存在sc_student表格

 查看表格数据类型(可用desc代替describe)

5、插入数据

6、查询数据 

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

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

现在我们有如下表格: 

接下来我想要根据上面的表格产生一个新的表格,我们应该怎么办呢?

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

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

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

如图所示,我们成功的复制了sc_student表格里的格式和数据。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值