头歌 MySQL数据库 - 初识MySQL

news2024/11/16 19:57:42

本章内容是为了完成老师布置的作业,同时也是为了以后考试的时候方便复习。

数据库部分一条一条的写,可鼠标手动粘贴,除特定命令外未分大小写。

第1关:创建数据库

        在操作数据库之前,需要连接它,输入命令:

mysql -u用户名 -p密码。

        在平台上连接数据库还需要加上一句:

mysql -uroot -p123123 -h127.0.0.1

         创建数据库:

create database MyDb;

第2关:创建表

        连接数据库:

mysql -uroot -p123123 -h127.0.0.1

        创建数据库

create database TestDb;

         进入数据库:

use TestDb;    //进入数据库

         创建表:

 CREATE TABLE 表名
(
    字段名,数据类型,
    字段名,数据类型,
    .....
)

create table t_emp (
    id int,
    name varchar(32),
    deptId int,
    salary float
);

第3关:使用主键约束

        主键,是表中一列或者多列的组合,主键约束(Primary Key Constraint)要求主键列的数据唯一,并且不允许为空,主键能够唯一的标识表中的每一条记录,可以结合外键来定义与不同数据表之间的关系。

         怎么理解主键?数据库中的表可以存放很多数据,如果把表中的每一个数据比作一个人的话,那么表的主键就可以看做是人的身份证

         有两种方式可以添加主键约束:

        1.在定义列的同时指定主键

ad0a2e930d6e436a9bda0ec5363783f5.png

        2.在定义完字段之后再指定主键

a4d2c049089f4cdb9b7681b22efe4cb8.png

         在数据库MyDb中,创建两张表t_user1t_user2,表结构如下,请为两张表分别创建主键约束,t_user1的主键为userId,t_user2的主键为联合主键,将字段namephone作为t_user2的联合主键。

ccce8f867b884c5498d5077d0d12fd0e.png937f6c2ddc6b436bae2aa55c90ab1647.png

mysql -uroot -p123123 -h127.0.0.1

create database MyDb;

use MyDb;
create table t_user1(
    userId INT PRIMARY KEY,
    name VARCHAR(32),
    password VARCHAR(11),
    phone VARCHAR(11),
    email VARCHAR(32)
);
create table t_user2(
    name VARCHAR(32),
    phone VARCHAR(11),
    email VARCHAR(32),
    PRIMARY KEY(name,phone)
);

第4关:外键约束

1.外键是什么?

        外键就是另一张表中的主键。外键的主要作用就是保持数据的一致性,完整性。

4b5c098a58644cc8aae8275e72cc0739.png

         如图有两张表,classIdT_Student的外键,是T_class 表的主键, 如果我们要删除T_class 表中classId1的字段,程序是会报错的,因为t_student表中有数据和classId1的字段关联了,是不能删除的,这样子就保证了数据的一致性和完整性

2.如何才能删除?

        需要先删除T__student表中classId1的两个字段。

3.如何给表添加外部关键字?

        在MySQL中给表中字段添加外键约束的语法规则如下:

CONSTRAINT 外键名 FOREIGN KEY 字段名 REFERENCES 主表名(主键名)

        举个例子:现在有两张表,t_empt_dept如下。 

1651aca415ae4e689ec4dd41380c1511.png

e75c390d12ad4d869544e7ecea77f462.png

         创建两张表,并给员工表(t_emp)添加外键:

CREATE TABLE t_dept
(
    deptId INT PRIMARY KEY,
    name VARCHAR(22),
    location VARCHAR(50)
);
CREATE TABLE t_emp
(
    id INT PRIMARY KEY,
    name VARCHAR(22),
    deptId INT,
    CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES t_dept(deptId)
);

4.题目

        创建两张表如下,给t_student表添加外键约束,外键为classId,外键名称为fk_stu_class1

6a51a429111d458bafad289e685a42ef.png

         代码如下:

mysql -uroot -p123123 -h127.0.0.1

create database MyDb;

use MyDb;
CREATE TABLE t_class
(
    id INT  PRIMARY KEY,
    name VARCHAR(22) 
);)
CREATE TABLE t_student
(
    id INT  PRIMARY KEY,
    name VARCHAR(22) ,
    classId int,
    CONSTRAINT fk_stu_class1 FOREIGN KEY(classId) REFERENCES t_class(id)
);

 第5关:添加常用约束

        在数据库的使用过程中我们经常要限制字段的取值,比如有些字我们不能让它为空,我们就需要添加非空约束。

        唯一约束(Unique Constraint)要求该列唯一,允许为空,但是只能有一个空值。唯一约束可以确保一列或者几列不出现重复值。

 1.添加唯一约束

        定义部门表的部门名称唯一,SQL语句如下:关键词 UNIQUE

CREATE TABLE t_dept(
    id INT PRIMARY KEY,
    name VARCHAR(22) UNIQUE,
    location VARCHAR(50)
)

 2.添加非空约束

        关键词:NOT NULL

CREATE TABLE t_dept(
    id INT PRIMARY KEY,
    name VARCHAR(22) NOT NULL,
    location VARCHAR(50)
)

3.使用默认约束

        默认约束:即给字段一个默认值。 关键词:DEFAULT; 

CREATE TABLE t_emp(
    id INT PRIMARY KEY,
    name VARCHAR(22),
    sex VARCHAR(2) DEFAULT '男'
) DEFAULT CHARSET=utf8;

        注意:

  • 如果是添加字符串型默认值要使用单引号,如果是整型则不需要加任何符号;
  • 如果要添加的是中文默认值,则需要加上DEFAULT CHARSET=utf8;使用英文字符则不需要。

 4.设置表的属性值自动增加

        在数据库应用中,经常有个需求就是,在每次插入新纪录时,系统自动生成字段的主键值,即:

ac72b50a8a53484690510b772f41a77f.png

         关键词:AUTO_INCREMENT,默认情况下初始值和增量都为1

CREATE TABLE t_tmp
(
    id int PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(32)
)

 5.题目

        在数据库MyDb中创建表t_user,表结构如下:

7d1a60d50fda4a45ad27f2fcda473761.png

        提示:若要给字段添加两个或者两个以上的约束,约束之间以空格隔开即可。 

mysql -uroot -p123123 -h127.0.0.1

create database MyDb;

use MyDb;
CREATE TABLE t_user
(
    id INT  PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(32) NOT NULL UNIQUE,
    sex VARCHAR(4) DEFAULT '男'
)DEFAULT CHARSET=utf8;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

4.4 Windows驱动开发:内核监控进程与线程创建

当你需要在Windows操作系统中监控进程的启动和退出时,可以使用PsSetCreateProcessNotifyRoutineEx函数来创建一个MyCreateProcessNotifyEx回调函数,该回调函数将在每个进程的创建和退出时被调用。 PsSetCreateProcessNotifyRoutineEx 用于在系统启动后向…

物联网赋能:WIFI HaLow在无线连接中的优势

在探讨无线网络连接时,我们不难发现,WIFI已经成为我们日常生活中不可或缺的一部分,承载了半数以上的互联网流量,并在家庭、学校、娱乐场所等各种场合广泛应用。然而,尽管WIFI4、WIFI5和WIFI6等协议无处不在&#xff0c…

基于单片机智能液位水位监测控制系统设计

**单片机设计介绍, 基于单片机智能液位水位监测控制系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的智能液位水位监测控制系统可以用来检测和控制液位的高低,并可以用于水泵的控制和自…

业务架构、技术架构、项目管理的有机结合

新入职的创业公司一年不行了。 这一年来没有上班,也因为大龄的问题找不到合适的工作。然后考了几个项目管理证书,又思考了一个技术兑现的问题。 技术本身是架构的执行层面,如果上面的公司战略、业务架构变小,缩水,或者…

MySQL的执行器是怎么工作的

作为优化器后的真正执行语句的层,执行器有三种方式和存储引擎(一般是innoDB)交互 主键索引查询 查询的条件用到了主键,这个是全表唯一的,优化器会选择const类型来查询,然后while循环去根据主键索引的B树结…

go zero手把手教你入门案例

一、入门案例 1、在黑窗口上安装 go install github.com/zeromicro/go-zero/tools/goctllatest2、使用goland创建一个项目 3、在项目中安装依赖 go get -u github.com/zeromicro/go-zerolatest4、模拟创建一个user的项目 goctl api new user5、安装依赖包 go mod tidy6、补充代…

数字音频工作站FL Studio21.1中文版本如何下载?

在现在这个数字音乐时代,各种音乐中都或多或少有些电子音乐的影子,或是合成器音色、或是通过数字效果器制作出的变幻莫测的变化效果。而小马丁、Brooks、Eliminate等众多电子音乐巨头便是使用FL Studio来制作音乐的。今天小编就以FL Studio五年的资深用户…

⑩④【MySQL】什么是视图?怎么用?视图的检查选项? 视图的作用?[VIEW]

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 视图VIEW ⑩④详解MySQL视图1. 视图的基本使用…

U盘如何自定义图标?

1、准备一张图片,转换为.ico格式,转换格式的工具推荐一个ToYcon 转换好后放到拷贝到u盘里面。 2、在u盘里面新建一个文本文档,在文档里面写入以下内容,注意,这里的test为图片的名称。 根据自己图片名称做一下修改。 […

CAD Exchanger SDK 3.23.0 的亮点

代号“CAD Exchanger MTK”的新兴产品首次亮相,支持新版本的流行格式,重新设计的 BIM 模型结构以及 3.23.0 中的 SDK 文档修订 阅读最新版本编写的 Autodesk Inventor 和 NX 文件,享受更严格的 BIM 模型结构,轻松浏览 SDK 文档&am…

三次握手和四次握手到底有啥区别?

1. 三次握手 TCP 协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保 证连接的可靠。 • 第一次握手,客户端向服务器端发起 TCP 连接的请求• 第二次握手,服务器端发送针对客户端 TCP 连接请求的确认•…

FISCO BCOS 3.0【01】搭建第一个区块链网络

官方技术文档:https://fisco-bcos-doc.readthedocs.io/zh-cn/latest/index.html 我们在官方技术文档的基础上,进行,对文档中一些不清楚的地方进行修正 搭建Air版本FISCO BCOS联盟链 本节以搭建单群组FISCO BCOS链为例操作,使用开…

NPDP 02组合管理

NPDP 产品经理认证知识体系指南解读,02组合管理 第二章 组合管理 公司战略或经营战略以及创新战略,为竞争性创新投资之间的权衡决策提供了整体方向和框架。在发展和持续性维护一个组织的产品组合时,总要面对一系列彼此竞争资源和投资的项目。…

Spring Cloud学习(九)【Elasticsearch 分布式搜索引擎01】

文章目录 初识 elasticsearch了解 ES倒排索引ES 的一些概念安装es、kibana安装elasticsearch部署kibana 分词器安装IK分词器ik分词器-拓展词库 索引库操作mapping 映射属性索引库的 CRUD 文档操作添加文档查看、删除文档修改文档Dynamic Mapping RestClient 操作索引库什么是Re…

Docker之DockerFile解析

DockerFile解析 是什么 Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。 概述 官网 https://docs.docker.com/engine/reference/builder/ 构建三步骤 编写Dockerfile文件 docker build命令构建镜像 docker run依镜像运…

轻地图+数据闭环加速落地,觉非科技获多家头部车企定点

‍作者 |张祥威 编辑 |德新 智能驾驶日益普及,「轻地图」和「数据闭环」成为各家能力比拼的关键,车企对此的需求也逐渐迫切。 11月16日,觉非科技宣布已与多家头部主机厂达成量产定点合作,围绕轻地图与数据闭环服务,支…

人工智能Keras的第一个图像分类器(CNN卷积神经网络的图片识别)

CNN卷积神经网络是人工智能的开端,CNN卷积神经网络让计算机能够认识图片,文字,甚至音频与视频。CNN卷积神经网络的基础知识,可以参考:CNN卷积神经网络 LetNet体系结构是卷积神经网络的“第一个图像分类器”。最初设计用于对手写数字进行分类,上期文章我们分享了如何使用k…

.Net6 部署到IIS示例

基于FastEndpoints.Net6 框架部署到IIS 环境下载与安装IIS启用与配置访问网站 环境下载与安装 首先下载环境安装程序,如下图所示,根据系统位数选择x86或者x64进行下载安装,网址:Download .NET 6.0。 IIS启用与配置 启用IIS服务 打开控制面板&#xff…

深度学习基础知识——从人工神经网络开始

一、介绍 您知道第一个神经网络是在 20 世纪 50 年代初发现的吗? 深度学习 (DL) 和神经网络 (NN) 目前正在推动本世纪一些最巧妙的发明。他们从数据和环境中学习的令人难以置信的能力使他们成为机器学习科学家的首选。 深度学习和神经网络是自动驾驶汽车、图像识别软…

AI先行者第三辑:石油专家正在加速“吸入”AI养分

AI对于石油行业而言,绝不是一个非此即彼、非黑即白、有用或者无用的简单命题,而是一个如何不断深入去提升效率,逐步证明自己价值的过程。 本篇作者安鹏,中国海洋石油集团有限公司信息技术中心 技术中台工程师;AICA首席…