mysql主键和外键的建立在哪里(mysql主键与外键)

mysql主键和外键的建立在哪里(mysql主键与外键)目录 前言 安装 MySQL 打开 MySQL 创建数据库 查看已建数据库 查看数据库引擎 创建数据表 nbsp 主键约束 单字段主键 多字段联合主键 外键约束 MySQL 数据库安装了很久 一直也没静下心来学习 因为起步太晚 所以什么都想学点



目录

前言:

安装MySQL:

打开MySQL:

创建数据库:

查看已建数据库:

查看数据库引擎:

创建数据表:

 主键约束:

单字段主键:

多字段联合主键:

外键约束:


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

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

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

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

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

net start mysql

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

第二步,登录:

mysql -u root -p

第三步,输入密码。

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

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

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

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

net stop mysql

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);

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

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

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

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

字段名称数据类型备注idINT(11)nameVARCHAR(25)

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

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

我们来查看一下该表:

SHOW TABLES;

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

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

单字段主键:

可以直接在字段之后设置

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

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

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

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

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

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

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

# 下面是我的前车之鉴。

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

多字段联合主键:

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

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

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

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

举个例子:

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

此时 tb3 的主键是 id

我们再创建一个子表:

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

 主要语句:

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

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

 这个报错提示很明显。

注意:

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

编程小号
上一篇 2025-02-18 07:11
下一篇 2025-02-06 10:21

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/9472.html