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

news/2024/5/20 15:11:25/文章来源:https://blog.csdn.net/weixin_66118670/article/details/130266684

目录

前言:

安装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 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 fk_emp_tb3(这是表名称) FOREIGN KEY(这里放入外键名称) REFERENCES 父表名称(父表的主键);

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

 这个报错提示很明显。

注意:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_669014.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

​如何恢复回收站清空的文件?

清空回收站后可以恢复删除的文件吗? 你是否遇到过清空回收站后才意识到某些文件不应删除的情况。发生这种情况时,许多人会感到恐慌,并且想知道是否有可能恢复回收站清空的文件。 事实上,你不必为此担心。当用户清空回收站时&a…

【Python】实战:生成无关联单选问卷 csv《跌倒风险评估量表》

目录 一、适用场景 二、业务需求 三、Python 文件 (1)创建文件 (2)代码示例 四、csv 文件 一、适用场景 实战场景: 问卷全部为单选题问卷问题全部为必填问题之间无关联关系每个问题的答案分数不同根据问卷全部问…

ES使用小结

ES使用总结 1.查询es全部索2.根据es索引查询文档3.查看指定索引mapping文件4.默认查询总数10000条5.删除指定索引文档6.删除所有数据包括索引7.設置窗口值8. logstash简单配置Logstash配置:logstash 控制台输出 9. filebenat配置 1.查询es全部索 localhost:9200/_c…

NFS网络文件共享服务

NFS网络文件共享服务 NFS(network file system)网络文件系统 可以把对方主机资源直接挂载到自己电脑上,比FTP更加方便 明文传输 没有认证机制 安全性很差 只在局域网使用 依赖RPC(远程过程调用) 需要安装nfs-utils(提供NFS服务)…

Nacos身份绕过漏洞复现(QVD-2023-6271)

Nacos身份绕过漏洞复现(QVD-2023-6271) 公司上级预警QVD-2023-6271,领导安排进行排查。 本着知己知彼的原则,我在本地将该漏洞复现出来。 漏洞原理:Nacos 在默认配置下未对 token.secret.key 进行修改,导…

开放式耳机有什么好处,分享几款高畅销的开放式耳机

开放式耳机是一种声音传导方式,主要通过颅骨、骨骼把声波传递到内耳,属于非入耳式的佩戴方式。相比传统入耳式耳机,开放式耳机不会堵塞耳道,使用时可以开放双耳,不影响与他人的正常交流。开放式耳机不会对耳朵产生任何…

短视频app开发:如何实现实时短视频录制功能

简介 在当今的移动互联网时代,短视频app已经成为了人们生活中不可或缺的一部分。短视频app的数量和用户量都在不断增加。如今,越来越多的人开始关注短视频app的开发,尤其是如何实现实时短视频录制功能。本文将分享如何开发短视频app并实现实…

DataStructure--Tree

文章摘录链接 1.树基本概念 计算机数据结构中的树就是对显示中的树的一种抽象(倒置现实中的树)。 1.1 树 有层次关系N(N≥0)个节点的有限集合空树: N0 非空树: 有且只有一个根节点1.2 节点 根节点 分…

java: Compilation failed: internal java compiler error

问题描述: 今天学习一个新的框架 Jbolt-v3.0,然后将它通过 IDEA 导入,运行报错,如下显示: 接着我尝试了百度上的解决方案,依然没有解决,遂即记录一下。 原因分析: 出现这种报错的原…

Linux下版本控制器(SVN) -服务器端环境搭建步骤

文章目录 进阶知识-Linux下版本控制器(SVN)4、服务器端环境搭建步骤4.1 安装服务器端程序4.2 验证是否安装成功4.3 创建并配置版本库4.4 配置 SVN对应的服务4.5 启动 SVN服务 本人其他相关文章链接 进阶知识-Linux下版本控制器(SVN) 4、服务器端环境搭建步骤 4.1 安装服务器端…

带你一步步实现代码开发平台——概述、实现模式、整体框架

概述 低代码开发平台是一种开发工具,它允许用户使用图形界面和少量编码来创建应用程序。这种平台的目的是加快应用程序开发速度,减少开发成本和技能门槛。目前,市场上有许多低代码开发平台可供选择,包括Microsoft Power Apps、Ou…

六、Golang的并发

Go语言的并发指的是能让某个函数独立于其他函数运行的能力。当一个函数创建为goroutine时,Go会将其视为一个独立的工作单元。这个单元会被调度到可用的逻辑处理器上执行。 Go语言运行时的调度器是一个复杂的软件,能管理被创建的所有goroutine并为其分配执…

Spring之Bean的配置与实例

Spring之Bean的配置与实例 一、Bean的基础配置1. Bean基础配置【重点】配置说明代码演示运行结果 2. Bean别名配置配置说明代码演示打印结果 3. Bean作用范围配置【重点】配置说明代码演示打印结果 二、Bean的实例化1. Bean是如何创建的2. 实例化Bean的三种方式2.1 构造方法方式…

NewBing 边栏快捷插件没有了!如何解决?如何脱离浏览器使用 New Bing?

作者:明明如月学长, CSDN 博客专家,蚂蚁集团高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《EffectiveJava》独家解析》专栏作者。 热门文章推荐…

[世界读书日] 最好的书,都在博雅之中

今天是世界读书日(4月23日),还是谈谈读书。 我很少看到有人说读书不好的,但很少看到有人爱读书,也很少看到有人读到了好书。 好书、好读书、读好书,都是很稀缺的。 一、好书的作用 基本上,我们遇…

NFC 学习笔记 5 MFRC522读写器2 NDEF

NDEF简介 NDEF(NFC Data Exchange Format)是一种标准化的数据格式,用于将数据存储在NFC标签或智能手机中。该格式是NFC论坛定义的,目的是在不同的NFC设备之间交换信息。 NDEF格式可以存储各种类型的数据,例如URL、文本…

参数与非参数检验:理解差异并正确使用

数据科学是一个快速发展的领域,它在很大程度上依赖于统计技术来分析和理解复杂的数据集。这个过程的一个关键部分是假设检验,它有助于确定从样本中获得的结果是否可以推广到总体。 在这篇文章中,我们将探讨参数与非参数检验之间的区别&#…

第3章:select

1.最基本的select语句 select … from…select 字段1,字段2,…from 表名* 表中所有字段(列) 2.列的别名 字段1 as 别名1字段1 别名1as:alias(别名)可以省略如果别名有空格使用一对””引起来…

pycharml利用ddddocr和selenium识别验证码并登录

文章目录 1OCR2 ddddocr3使用案例4 常见问题代码详情获得XPATH方法 1OCR OCR (Optical Character Recognition,光学字符识别),是指电子设备(例如扫描仪或 数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符…

[Platforimio] LVGL +TFT_eSPI实现触摸功能

💥💥💞💞欢迎来到本博客❤️❤️💥💥 本人持续分享更多关于电子通信专业内容以及嵌入式和单片机的知识,如果大家喜欢,别忘点个赞加个关注哦,让我们一起共同进步~ &#x…