mysql之语句

news2024/9/23 13:20:11

1、mysql的扩展语句

(1)创建表

if not exists yyy:这个表不存在才会创建

zerofill:自动补齐位置

primary key:当前表的主键,主键只能有一个,唯一且不能为空

auto_increment:表示该字段可以自增长。默认从1开始,每条记录会自动递增1

unique key 唯一性约束,跟主键不同,可以为空

(2)复制表

create table test like sss;复制表结构,通过like语句复制sss的表结构,不能复制表的数据

insert into test select * from sss;复制表的数据,两个表的数据结构要一致

create table test2 (select * from sss);复制表结构和数据

(3)删表

删除表内的所有数据:delete、truncate、drop

①delete from yyy;  

delete删除是一行一行删除,如果表中有自增长列,清空所有记录之后,再次添加内容,会从原来的记录之后继续自增写入(有时有效)

②truncate table test;(工作中常用)

清空表的数据,而且会把表结构重新建立。速度比delete快

③drop table test2;(不推荐使用)

直接删除整个表

(4)创建临时表

临时表一般用于调试,创建后在表目录中不显示,连接退出之后,临时表会被销毁,且临时表无法创建外键

2、mysql的约束方式

(1)主键约束:用于唯一标识表中的每一行,主键列的值必须唯一且不能为空,一个表只能有一个主键

(2)外键约束:用于建立表与表之间的关系。一般是和另一张表的主键关联。作用:确保数据引用的完整性。一个表可以有多个外键

(3)非空约束:not null,该位置必须要有值,空格也算

(4)唯一性约束:unique,确保列中的所有值都是唯一的,类似于主键,但是可以为空,且多个表可以有多个唯一约束

(5)默认值约束:default,在插入表数据值,如果没有定义值,会提供一个默认值

(6)自增约束:auto_increment,每行自动生成一个唯一标识,一般配合主键使用

show create table class;   #查看从表class

主表和从表:

插入数据:先插入主表,再插入从表

删除数据:先删除主表,再删除从表

先删外键,再删外键索引

先解除自增约束,才能删除主键

内部外键关联

外部外键关联

3、实题:两张表建立主从关系

1、主表school

de_id int(4) 不满4位要补齐,自增长,主键

name varchar(15)不能为空

email varchar(45)可以为空,但是不能重复,且有默认值“bdqnkgc@126.com”

2、从表cloud_ky32

id int(4)自增长,主键

class_name 不能为空

de_id 外键,和主键关联

address可以为空,默认值“地址不祥”

phone int(11)不能为空且不能重复

3、删除外键关联,删除从表的主键,重新定义主键为phone

①创建主表

②创建从表

③删除从表的外键

④删除从表的主键

⑤重新定义主键

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

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

相关文章

Allegro172版本不显示Microvia间距规则的解决办法

Allegro172版本不显示Microvia间距规则的解决办法 在用Allegro进行PCB设计的时候,进行盲埋孔单板设计的时候,有时会使用到Microvia,当然就要对Microvia进行规则设置,如下图 Allegro166版本的时候,Microvia规则是一直存在的 但是当版本升级到了172的时候,会发现Microvia的…

【面试专题】并发编程篇①

📃个人主页:个人主页 🔥系列专栏:Java面试专题 1.线程和进程的区别 线程和进程都是操作系统中的概念,它们的主要区别如下: 资源分配:进程是操作系统中的资源分配的基本单位,每个进程…

IDEA优雅自动生成类注释和快捷键生成方法注释

生成类注释 Preferences->Editor->File and Code Templates-> Includes ->File Header 注释模板: /*** Classname ${NAME}* Description ${description}* Date ${DATE} ${TIME}* Created by ZouLiPing*/生成方法和字段注释 查看IDEA自动配置java快捷…

Istio实战(十)-Envoy 请求解析(上)

前言 Envoy 是一款面向 Service Mesh 的高性能网络代理服务。它与应用程序并行运行,通过以平台无关的方式提供通用功能来抽象网络。当基础架构中的所有服务流量都通过 Envoy 网格时,通过一致的可观测性,很容易地查看问题区域,调整整体性能。 Envoy也是istio的核心组件之一…

使用cpufrequtils查看调整cpu频率及模式

使用cpufrequtils查看调整cpu频率及模式 cpufrequtils是一个查看和修改CPU频率GHz的工具 有些物理服务器使用默认频率进行运行,这时可以使用该工具进行就该CPU的核心频率 安装: apt install cpufrequtils yum install cpufrequtils 使用: # 查看全部核心详细信息…

1111111111111

一、集合 1.1 简介 集合主要分为两组(单列集合、双列集合),Collection 接口有两个重要的子接口 List 和Set,它们的实现子类都是单列集合。Map 接口的实现子类是双列集合,存放的是 K-V 1.2 关系图 二、Collection 接口…

Shadow DOM API 的 ShadowRoot 接口支持挂载的 shadow DOM 元素仅有18个:

<article, aside, blockquote, body, div, footer, h1-h6, header, main, nav, p, section, span> 浏览器兼容性 Browser compatibility

配置OSPF的多区域

实验6&#xff1a;配置多区域OSPF 实验需求 实现OSPF多区域配置阐明OSPF的LSA的类型阐明OSPF引入外部路由的配置方法阐明向OSPF引入缺省路由的方法 实验拓扑 配置多区域OSPF如图1-16所示。 图1-16 配置多区域OSPF 实验步骤 [1] IP地址配置 R1的配置 <Huawei>system…

Apache Doris (四十九): Doris表结构变更-动态分区(1)

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

动态规划14:一和零

动态规划14&#xff1a;一和零 题目 474. 一和零 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度&#xff0c;该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素&#xff0c;集合 x 是集合 y 的 子集 。 …

计算机网络 第五章传输层

文章目录 1 传输层的功能2 传输层两种协议&#xff1a;UDP和TCP3 端口和端口号4 UDP数据报特点和首部格式5 UDP校验6 TCP协议的特点7 TCP报文段首部格式 1 传输层的功能 2 传输层两种协议&#xff1a;UDP和TCP 3 端口和端口号 4 UDP数据报特点和首部格式 5 UDP校验 6 TCP协议的…

机器人的触发条件有什么区别,如何巧妙的使用

简介​ 维格机器人触发条件,分为3个,分别是: 有新表单提交时、有记录满足条件时、有新的记录创建时 。 看似3个,其实是能够满足我们非常多的使用场景。 本篇将先介绍3个条件的触发条件,然后再列举一些复杂的触发条件如何用现有的触发条件来满足 注意: 维格机器人所有的…

ChatGLM系列四:P-Tuning微调

P-Tuning&#xff0c;参考ChatGLM官方代码 &#xff0c;是一种针对于大模型的soft-prompt方法 P-Tuning: 在输入的embedding层前&#xff0c;将prompt转换为可学习的额外一层embedding层. P-Tuning&#xff0c;仅对大模型的Embedding加入新的参数。 P-Tuning-V2&#xff0c;将…

FANUC机器人PRIO-621和PRIO-622设备和控制器没有运行故障处理

FANUC机器人PRIO-621和PRIO-622设备和控制器没有运行故障处理 如下图所示&#xff0c;新的机器人开机后提示报警&#xff1a; PRIO-621 设备没有运行 PRIO-622 控制器没有运行 我们首先查看下手册上的报警代码说明&#xff0c;如下图所示&#xff0c; 如下图所示&#xff0c…

蓝牙 - BLE SPP实现举例 (Bluecode Protocol Stack)

这里以一个无线扫描枪设备为例&#xff0c;这个设备会通过蓝牙通讯协议连接一个底座&#xff0c;使用的是BLE SPP进行通讯。 扫描枪用来扫条码&#xff0c;解析出条码信息后&#xff0c;将数据通过无线传输给底座&#xff0c;底座再通过USB将数据传送给电脑。 底座是Central d…

非科班出身的野生Android也可以跳到大厂

野生Android从业者&#xff0c;非科班出身&#xff0c;在小公司打杂2年后&#xff0c;"意外"地拿到了大厂的offer。 高中毕业后&#xff0c;我选择了一条不太寻常的路&#xff0c;&#xff08;花大几万&#xff09;进入编程培训班&#xff0c;后来又自修课程&#xf…

【LeetCode刷题-哈希】--387.字符串中的第一个唯一字符

387.字符串中的第一个唯一字符 class Solution {public int firstUniqChar(String s) {Map<Character,Integer> map new HashMap<>();for(int i 0;i<s.length();i){char c s.charAt(i);map.put(c,map.getOrDefault(c,0)1); }for(int i 0;i< s.length();i…

Java进阶(ConcurrentHashMap)——面试时ConcurrentHashMap常见问题解读 结合源码分析 多线程CAS比较并交换 初识

前言 List、Set、HashMap作为Java中常用的集合&#xff0c;需要深入认识其原理和特性。 本篇博客介绍常见的关于Java中线程安全的ConcurrentHashMap集合的面试问题&#xff0c;结合源码分析题目背后的知识点。 关于List的博客文章如下&#xff1a; Java进阶&#xff08;Lis…

IDEA MyBatisX插件介绍

一、前言 前几年写代码的时候&#xff0c;要一键生成DAO、XML、Entity基础代码会采用第三方工具&#xff0c;比如mybatis-generator-gui等&#xff0c;现在IDEA或Eclipse都有对应的插件&#xff0c;像IDEA中MyBatisX就是一个比较好用的插件。 二、MyBatisX安装配置使用 MyBa…

C的缺陷和陷阱读书笔记

词法陷阱 1、if语句的特殊用法 1、if(x>max) maxx;2、if(x>max?x;max) //条件表达式&#xff0c;是执行第二个&#xff0c;否执行第三个3、if(x>max); //条件成立后执行——空语句4、if((fopen(arg v[i],0))>0) //open函数执行&#xff0c;成功返回后面的0&a…