失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > MySQL:创建数据库 数据表 主键和外键

MySQL:创建数据库 数据表 主键和外键

时间:2020-07-05 16:25:28

相关推荐

MySQL:创建数据库 数据表 主键和外键

目录

前言:

安装MySQL:

打开MySQL:

创建数据库:

查看已建数据库:

查看数据库引擎:

创建数据表:

主键约束:

单字段主键:

多字段联合主键:

外键约束:

前言:

MySQL数据库安装了很久,一直也没静下心来学习,因为起步太晚,所以什么都想学点,又感觉有些力不从心,目前为爬虫打基础,这是一项漫长的工程,希望能够坚持下去。

安装MySQL:

mysql8.0.25安装配置教程(windows 64位)最详细_mysql8.0.25安装教程图解_聚精会神搞学习的博客-CSDN博客

这里放上大佬的安装教程,非常简单实用,且一看就懂。最主要的是路径配置,省去很多麻烦。

打开MySQL:

很多教程中直接win + r,如果数据库没有装入C盘,则要转到你安装数据库的盘中。

首先第一步——将数据库联网:

net start mysql

联网联网,不联网啥都没有!直接error!

第二步,登录:

mysql -u root -p

第三步,输入密码。

我个人更偏向用终端(管理员)打开mysql:(看起来更加舒适一些)

右键开始菜单 --> 终端(以管理员身份)--> 重复上面的三个步骤。

再次提醒!不要遗漏掉“连接网络”这一步,如果打开后直接登录,就会报错。

如果想要断开网络连接,直接写:

net stopmysql

创建数据库:

CREATE DATABASE 数据库名称;

查看已建数据库:

SHOW DATABASES;

请注意,要大写!否则:

而且也不要忘记最后面的 ‘分号’

问题:有 :SHOW DATABASES; 这个命令,那么 SHOW CREATE DATABASE database_name; 又是什么呢?

即:显示已创建的 database_name (注意,这是数据库的名字) 的内容。

很容易在刚开始使用的时候认错,以为其默认输出上一个创建的数据库,其实不然,后面一定要附上数据库的名字,否则会报错:

以上两个语句的错误各有千秋,大家是否看出来了呢?

一定要注意DATABASE 的单复数。

查看数据库引擎:

最常见的引擎有三种:

InnoDB (我的数据库引擎就是这个)

MyISAM

MEMORY

当然,可以通过命令输出数据库引擎。

(上图只截取了一部分)

也可以:

support 表示引擎能否使用;default则表示默认引擎

有一个教程上写有另一种方法可以直接查看默认引擎:

我试了,是这样:

不知道是什么情况,如有路过大佬,还请指点迷津。

以上是创建“数据库”,接下来创建数据表。

创建数据表:

在创建数据表之前,一定要先选择在哪个库中创建:

USE 表名称

出现: Database changed 表示:已经选中了该数据库,接下来创建数据表:

CREATE TABLE tb1

# 创建数据表的命令为:CREATE TABLE 后面要加上所创建数据表的名字,注意到这里还没有结束。

# 这里可以按下回车,但是在末尾千万不要加上分号。

(id INT(11), name VARCHAR(25), deptID INT(11), salary FLOAT);

# 以上是创建表的全部语句,结束之后需要加上分号。

#在终端操作不建议在这一句上进行分行处理,尤其是写习惯代码,敲对号一次敲一对的,就更不能按回车!

#如果实在是想给他分行写,那么最外面的括号的右半要最后再敲上去。

# 在这里插播一下,我们在括号内部写的是表的结构(下面简单举两个例子):

目前还没有弄清楚为什么会出现 2warnings,后续弄明白再补充上。

到此为止,建立了一个表,只不过这个表是空的。

我们来查看一下该表:

SHOW TABLES;

主键约束:

主键就是主码,主键约束,即要求主键列数据唯一,且不能为空。这样就能够明确标注该键所在的一行数据。(主键其实可以不在列首,甚至一个表格内可以有多个主键约束)

主键约束可以是一个字段,也可以是多个字段(字段说白了就是每一列的列头名称。)

单字段主键:

可以直接在字段之后设置

# 我又创建了一个名为 tb2 的表格,只是在ID(这就是一个字段)后添加了 PRIMARY KEY ,不要写错字母。

# 所以这个表格的主键就是 ID

# 查看一下,确实创建完成了。

除此之外,可以先确定各个字段,在最后标明主键。

# 如果在写入字段的时候发生错误,注意,一定要重新创建表格!

# 报错提示会标明错误的地方。终端和pycharm不同,终端没有提示,很容易写错,建议写两个字就赶快查看一下是否出错。

# 这里敲代码也是可以进行复制和粘贴操作的。

# 下面是我的前车之鉴。

即使字段设置完成,没有创建表的命令,也一样会报错。

多字段联合主键:

只能选用第二个方法啦!就是在括号内写入多个字段即可。

外键约束:

外键可以在多个表之间建立联系。

外键在子表中,外键依赖的主键在父表中。

子表中所设置的外键可以不是子表的主键:即,子表主键为id,其外键可以是septID,但是这个外键一定是要关联到父表的主键上。

举个例子:

我们就拿之前的tb3作为父表:

此时 tb3 的主键是 id

我们再创建一个子表:

其中字段内容和 tb3 相同,外键设置为 deptID,链接到父表的主键上:

主要语句:

CONSTRAINT<外键名>FOREIGN KEY(<子表中作为外键的字段>)REFERENCES<父表名称>(<父表的主键>);

注意,如果在设置外键时,名称不小心打错了,就会报错:

这个报错提示很明显。

注意:

子表的外键必须关联父表的主键,且两个字段的数据类型必须相同!

如果觉得《MySQL:创建数据库 数据表 主键和外键》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。