目录
Mysql5.7官方参考文档:MySQL :: MySQL 5.7 Reference Manual
如何修改为utf8字符集呢,我们可以通过在mysql里的配置文件里添加character-set-server=utf8
查看建表语句,可以很清楚的看到建表使用的字符集为utf8 引擎为InnoDB
删除Mysql数据库(本质上是删除/data/mysql文件夹下的jiacai文件夹)
字段:姓名、性别、年龄、专业、电话号码、地址、岗位、城市、公司名字、出生日期、工资
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表格里的格式和数据。