Mysql - Mysql的建表建库

文章详细介绍了MySQL5.7中如何创建数据库和表,包括主键的概念、字符集的设置(从latin1转为utf8)、查看数据库和表的信息以及数据插入和查询操作。此外,还讨论了如何根据已有表创建新表。

目录

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表格里的格式和数据。

<think>嗯,用户询问的是如何在MySQL 8.0 CE中创数据库的方法。根据提供的引用内容,用户已经看过一些操作指南,但需要更聚焦的指导。 从引用[1]和[2]中提取关键信息: -MySQL Workbench中,数据库等同于schema -数据库是通过右键点击Schema区域选择"Create Schema" -需要先选中目标数据库,再右键Table选择"Create Table" - 时强调主键设置和字段约束 用户可能是个刚开始接触图形化工具的开发人员,之前可能用过命令行。需要强调几个易错点: 1. 创前必须选中正确的数据库(引用[2]特别提到) 2. 主键最好设置自增属性(引用[2]的示例) 3. SQL脚本执行前要指定数据库(引用[2]末尾的警告) 考虑到用户参考的文档里有外键创需求(引用[3]的student),虽然用户没直接问,但应该在创步骤加入外键设置说明。图形界面操作和SQL语句两种方式都要涵盖,因为引用[2]显示用户也关注脚本操作。 需要特别注意术语统一,文中提到"database(数据库)==schema(模式)",所以说明时要交替使用这两个术语。在步骤中要突出Apply按钮的二次确认机制,这是图形界面操作的特点。 最后保留SQL语句的备选方案,因为引用[2]显示用户有脚本操作需求。权限设置部分虽然引用[2]提及,但用户当前问题不涉及,可以省略。 </think> 以下是根据MySQL Workbench 8.0 CE图形界面创数据库的详细步骤,结合引用内容整理: ### 创数据库 1. **登录连接** 打开MySQL Workbench → 双击`MySQL Connections`下的本地连接(通常为`root@localhost:3306`)[^2] 2. **创Schema** - 在左下角`Schemas`区域右键 → 选择`Create Schema` - 输入数据库名称(例如`new_schema`)→ 点击`Apply` - 二次确认后完成创 > 💡 关键提示:MySQL中 **database(数据库) == schema(模式)** 概念等价 ### 创数据 1. **定位数据库** 展开新数据库(如`new_schema`)→ 右键`Tables` → 选择`Create Table` 2. **设计结构** | 列名 | 数据类型 | 约束条件 | 说明 | |------------|------------|---------------------------|-------------------| | `id` | `INT` | `PK`(主键), `NN`(非空), `AI`(自增) | **强烈议设置** | | `name` | `VARCHAR(45)` | `NN` | 示例字段 | | 其他列... | 按需设置 | | | 3. **外键设置(可选)** 在`Foreign Keys`标签页添加关联字段 → 选择参考和关联字段[^3] 4. **应用更改** 点击`Apply` → 确认SQL脚本 → 再次点击`Apply`完成创[^2] --- ### SQL语句方式(替代图形操作) ```sql --数据库 CREATE SCHEMA `new_schema` DEFAULT CHARACTER SET utf8mb4; -- 使用数据库 USE `new_schema`; --带自增主键的 CREATE TABLE `student` ( `id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(45) NOT NULL, PRIMARY KEY (`id`) ); -- 添加外键(示例) ALTER TABLE `student` ADD COLUMN `dept_id` INT NULL, ADD CONSTRAINT `fk_dept` FOREIGN KEY (`dept_id`) REFERENCES `department`(`id`); ``` > ⚠️ 执行前务必: > 1. 在左下角选中目标数据库 **或** > 2. 在脚本开头添加 `USE 数据库名;`[^2] --- ### 操作验证 - **查看对象**:创后在`Schemas`面板刷新即可看到新数据库 - **执行SQL**:点击工具栏⚡闪电图标执行脚本,无错误提示即成功[^2]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值