mysql数据库学习记录(一)

文章目录

  • 1.mysql如何加外键关联约束?
  • 2.mysql,加外键关联约束有什么作用?
  • 3.在MySQL中,可以通过在创建数据表时使用PRIMARY KEY关键字来指定多列联合主键,那么请问联合主键有啥作用?
  • mysql数据表设计好后,如何进行一些测试呢?

1.mysql如何加外键关联约束?

在MySQL中,可以使用ALTER TABLE语句来添加外键关联约束。具体步骤如下:

确保两个表已经创建,并且其中一个表的字段将作为外键。
使用ALTER TABLE语句来添加外键关联约束。
下面是一个示例,演示如何在MySQL中添加外键关联约束:

-- 创建两个表
CREATE TABLE table1 (id INT PRIMARY KEY,name VARCHAR(50)
);CREATE TABLE table2 (id INT PRIMARY KEY,table1_id INT,value VARCHAR(50),FOREIGN KEY (table1_id) REFERENCES table1(id)
);

在上面的示例中,我们创建了两个表:table1和table2。然后,我们使用ALTER TABLE语句在table2中添加了一个外键关联约束,将table1_id字段与table1表的id字段关联起来。

2.mysql,加外键关联约束有什么作用?

外键关联约束在MySQL中起到了以下作用:

  • 保持数据的完整性:外键关联约束可以确保两个表之间的数据一致性。它可以防止在一个表中插入或更新数据时,引用另一个表中不存在的数据。
  • 级联操作:外键关联约束还可以定义级联操作,当主表中的数据发生变化时,可以自动更新或删除相关的从表数据。这样可以简化数据库操作,并确保数据的一致性。
  • 数据查询和连接:外键关联约束可以帮助我们进行更复杂的数据查询和连接操作。通过外键关联,我们可以轻松地将多个表中的数据连接起来,以便进行更高效的数据分析和查询。

3.在MySQL中,可以通过在创建数据表时使用PRIMARY KEY关键字来指定多列联合主键,那么请问联合主键有啥作用?

CREATE TABLE 表名 (1 数据类型,2 数据类型,3 数据类型,...PRIMARY KEY (1,2,3, ...)
);

其中,表名是你要创建的数据表的名称,列1, 列2, 列3, …是你要指定为主键的列名,数据类型是每一列的数据类型。

举个例子,假设我们要创建一个名为students的数据表,其中id和name两列共同组成主键,可以使用以下语句:

CREATE TABLE students (id INT,name VARCHAR(50),age INT,PRIMARY KEY (id, name)
);

联合主键是指在创建数据表时,通过使用PRIMARY KEY关键字来指定多列作为主键。联合主键的作用主要有以下几点:

  • 唯一性约束:联合主键可以确保多列的组合值在表中是唯一的。这意味着任何两行数据的联合主键值都不能相同,避免了数据冲突和重复。

  • 数据完整性:联合主键可以保证表中的数据完整性。通过将多个列作为主键,可以确保这些列的值都不能为空,从而避免了数据的不完整性。

  • 查询性能优化:联合主键可以提高查询性能。当使用联合主键作为查询条件时,数据库可以更快地定位到符合条件的数据,从而提高查询效率。

  • 外键关联:联合主键可以作为外键的参照对象。其他表可以使用联合主键作为外键,与当前表建立关联关系,从而实现数据的关联查询和数据一致性的维护。

  • 数据分片:在分布式数据库中,联合主键可以用于数据分片。通过将不同的联合主键值分配到不同的节点上,可以实现数据的水平分割和负载均衡。

总结起来,联合主键在MySQL中具有唯一性约束、数据完整性、查询性能优化、外键关联和数据分片等作用,可以提高数据库的性能和数据的完整性。

mysql数据表设计好后,如何进行一些测试呢?

在MySQL数据库中,可以通过编写SQL语句来对数据库表进行测试。下面是一些常用的测试方法和示例:

  1. 插入数据测试:

    • 使用INSERT INTO语句向表中插入数据。
    • 示例:
      INSERT INTO 表名 (字段1, 字段2, ...) VALUES (1,2, ...);
      
  2. 查询数据测试:

    • 使用SELECT语句从表中查询数据。
    • 示例:
      SELECT * FROM 表名;
      
  3. 更新数据测试:

    • 使用UPDATE语句更新表中的数据。
    • 示例:
      UPDATE 表名 SET 字段1 =1, 字段2 =2 WHERE 条件;
      
  4. 删除数据测试:

    • 使用DELETE语句从表中删除数据。
    • 示例:
      DELETE FROM 表名 WHERE 条件;
      
  5. 表关联测试:

    • 使用JOIN语句将多个表关联起来进行查询。
    • 示例:
      SELECT * FROM1 JOIN2 ON1.字段 =2.字段;
      
  6. 索引测试:

    • 创建索引并测试索引对查询性能的影响。
    • 示例:
      CREATE INDEX 索引名 ON 表名 (字段);
      SELECT * FROM 表名 WHERE 字段 =;
      
  7. 触发器测试:

    • 创建触发器并测试触发器的执行。
    • 示例:
      CREATE TRIGGER 触发器名 BEFORE/AFTER INSERT/UPDATE/DELETE ON 表名 FOR EACH ROW BEGIN ... END;
      INSERT/UPDATE/DELETE FROM 表名;
      

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

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

相关文章

linux 04 进程管理

02.进程管理 ps 在命令行输入ps后按回车键就能查看当前系统中正在运行的进程。 第一. 查看进程ps 进程的状态STAT 进程的周期 fork,产生一个新进程 第二.排序进程表 ps aux --sort -%cpu 降序cpu %cpu 增序cpu 第三.父子关系 ps ef 第四.自定义 五.动态查看…

Spring和SpringBoot的区别是什么

Spring 和 Spring Boot 是 Java 开发领域内两个极其重要且紧密相关的框架,它们各自在企业级应用开发中扮演着不同的角色,并带来了一系列革新性的变化。以下是关于两者之间主要区别的详细分析: 一、设计理念与定位 Spring Framework Spring 是…

如何远程登录云服务器?登录失败是什么原因?

我用Linux云服务器,遇到了有关远程登录的一些问题,于是搜索了一些资料,整理了一篇文档,作为记录。如果你也遇到过 相似的问题,欢迎一起探讨! 一、Linux云服务器的远程登录 远程登陆linux,使用…

【Java 数据结构】排序

排序算法 1. 排序的概念及引用1.1 排序的概念1.2 常见的排序算法 2. 常见排序算法的实现2.1 插入排序2.1.1 直接插入排序2.1.2 希尔排序( 缩小增量排序 ) 2.2 选择排序2.2.1 直接选择排序2.2.2 堆排序 2.3 交换排序2.3.1冒泡排序2.3.2 快速排序2.3.3 快速排序非递归 2.4 归并排…

Pinterest是什么软件?有什么功能?Pinterest怎么做营销?

如今,社媒营销已成为连接品牌与全球消费者的关键桥梁。随着像Instagram、Twitter等海外社交媒体平台的兴起,社媒营销人员和跨境电商面临着无限的机遇。而在这些平台中,有一个平台以其独特的视觉展示方式和高度专注的用户体验脱颖而出——那就…

力扣hot100 无重复字符的最长子串 双指针 滑动窗口 哈希

Problem: 3. 无重复字符的最长子串 文章目录 思路Code 思路 👨‍🏫 参考 Code ⏰ 时间复杂度: O ( n ) O(n) O(n) 🌎 空间复杂度: O ( 1 ) O(1) O(1) class Solution {public int lengthOfLongestSubstring(String s){if (s null ||…

HTML+CSS+JS的3D进度条

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>HTMLCSSJS的3D进度条</title><style>…

ios app与H5页面交互踩坑

ios 与 H5 页面交互是异步的&#xff0c;有坑 这两端的交互我这边写的如下&#xff1a; const platform 判断的平台 export const getIosData () > {let returnPromise;try {if (platform "android" ) {returnPromise Promise.resolve((window as any).androi…

【JAVA学习路线——超详细介绍】

JAVA学习路线——超详细介绍 1. 介绍2. Java基础知识3. Java进阶4. Java高级知识5. 开发工具和环境6. 涉猎相关技术7. 实战项目8. 持续学习和实践 1. 介绍 要成为一名熟练的Java开发者&#xff0c;需要经过系统的学习和实践&#xff0c;下面是一个详细的Java学习路线&#xff…

Sqoop数据迁移工具

概述 Apache Sqoop&#xff08;SQL-to-Hadoop&#xff09;项目旨在协助RDBMS与Hadoop之间进行高效的大数据交流。用户可以在 Sqoop 的帮助下&#xff0c;轻松地把关系型数据库的数据导入到 Hadoop 与其相关的系统 (如HBase和Hive)中&#xff1b;同时也可以把数据从 Hadoop 系统…

Android应用程序上线到Google Play商店

将Android应用程序上线到Google Play商店涉及多个步骤。以下一般的上线流程&#xff0c;具体的步骤可能会根据开发者的需求和Google Play的更新而有所变化。确保遵循Google Play的规定和最佳实践&#xff0c;以确保应用能够成功上线并为用户提供良好的体验。北京木奇移动技术有…

78SXX系列­——用于各种电视机、收录机、电子仪器、设备的稳压电源电路,输出电流大,内设过热、短路保护电路,无需外接元件

78SXX系列是用于各种电视机、收录机、电子仪器、设备的稳压电源电路。包括78S05、78S06、 78S08、 78S09、 78S10、 78S12、 78S15. 主要特点&#xff1a; ● 极限输出电流:0.2A ● 固定输出电压: 5V、 6V、 8V、9V、10V、 12V、 15V ● 内置短路保护电路 ● 内置热保护电路 ●…

react 之 Class API

class API就是编写类组件&#xff0c;虽然react官方不在推荐使用&#xff0c;但是一般公司里维护的老项目里还是有的&#xff0c;可以简单了解下 1.类组件的基础结构 类组件就是通过js里的类来组织组件的代码的 1️⃣通过类属性state定义状态数据 2️⃣通过setState方法来修…

Docker Container(容器)

什么是容器 通俗地讲&#xff0c;容器是镜像的运行实体。镜像是静态的只读文件&#xff0c;而容器带有运行时需要的可写文件层&#xff0c;并且容器中的进程属于运行状态。即容器运行着真正的应用进程。容器有初建、运行、停止、暂停和删除五种状态。通俗地讲&#xff0c;容器…

Day20、二叉树part06

文章目录 654.最大二叉树617.合并二叉树700.二叉搜索树中的搜索98.验证二叉搜索树 654.最大二叉树 题目链接 654.最大二叉树 题目描述 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下&#xff1a; 二叉树的根是数组中的最大元素。左子树是通过数组中最…

Unity_Visual Effect Graph2

Unity_Visual Effect Graph2 目录 Unity_Visual Effect Graph2 他人言: 官方: Visual Effect Gra

使用Pycharm在本地调用chatgpt的接口

目录 1.安装环境 2.建立多轮对话的完整代码&#xff08;根据自己使用的不同代理需要修改端口&#xff08;port&#xff09;&#xff09; 3.修改代码在自己的Pycharm上访问chagpt的api并实现多轮对话&#xff0c;如果不修改是无法成功运行的。需要确定秘钥和端口以保证正常访…

注册虾皮买家号所需资料解析:一步步了解必备信息

为了在Shopee上获取更多的曝光和销售机会&#xff0c;许多卖家都在积极探索自动化注册的方法。使用Shopee买家通系统进行自动化注册&#xff0c;需要准备一些必要的资料&#xff0c;下面我们来详细了解一下&#xff1a; 手机号&#xff1a;在Shopee注册买家号时&#xff0c;手…

2024美赛C题保姆级分析完整思路代码数据教学

2024美国大学生数学建模竞赛C题保姆级分析完整思路代码数据教学 C题 Momentum in Tennis 网球中的动量 在2023年温布尔登男单决赛中&#xff0c;20岁的西班牙新星卡洛斯阿尔卡拉兹击败了36岁的诺瓦克德约科维奇。这是德约科维奇自2013年以来在温布尔登的首次失利&#xff0c;也…

Unity3D 法向量和法线详解

前言 在Unity3D中&#xff0c;法向量&#xff08;Normal Vector&#xff09;和法线&#xff08;Normal&#xff09;是游戏开发中常用的概念。它们在计算机图形学中起着重要的作用&#xff0c;用于确定物体的表面方向和光照效果。在本文中&#xff0c;我们将详细介绍Unity3D中法…