数据库扩展语句和约束方式以及用户管理
数据库扩展语句和约束方式以及用户管理
create TABLE if not exists ky32 (
id int(4) zerofill primary key auto_increment,
name varchar(10) not null,
cradid int(18) not null unique key,
hobby varchar (50)
);
auto_increment:表示该字段可以自增长,默认从1开始,每条记录会自动递增1
if not exists ky32:ky32这个表不存在,才会创建
zerofill:自动填充位置1 0001
primary key:当前表的主键,主键只有一个,而且唯一,而且不能为空
unique key:唯一性约束。跟主键不同,可以为空的
create table test like ky32:复制,通过like这个语句直接复制ky32的表结构。只是复制表结构,不能复制表里面的数据
insert into test select * from ky32:把ky32表里面的数据复制到test,两个表数据结构要一致
create table test1 (select * from ky32):创建一张表,test1,数据从ky32来,表结构也是ky32
drop table ky32:整个删除表
delete from ky32:清空表内容。delete删除是一行一行删除,如果表中有自增长列,清空所有记录之后,再次添加内容,会从原来的记录之后继续自增写入
truncate table ky32:清空表里的内容,而且会把表结构重新建立。速度上比delete快(在工作中一般用truncate)
modify column:是一种用于修改表中列定义的操作。它可以用来更改列的数据类型、长度、默认值等属性。通过使用modify column,可以在不删除表或数据的情况下更改表的结构。
创建临时表:临时表一般用于调试,而且临时表创建之后在表目录当中是不显示的,连接退出之后,临时表会被销毁,而且临时表无法创建外键
mysql的约束方式:
6种常用的约束:
1、主键约束,用于唯一标识表中的每一行,主键列的值必须是唯一而且不能为空,一个表只能有一个主键
2、外键约束,用于建立表与表之间的关系,一般是和另一张的表的主键关联,保证数据引用的完整性。一个表可以有多个外键
3、非空约束,not null必须要有一个值
4、唯一性约束:unique,确保列中的所有值都是唯一的,类似于主键,但是可以为空,而且一个表可以有多个唯一约束
5、默认值约束:default,在插入表数据时,如果没有定义值,会提供一个默认值
6、自增约束:每行自动生成一个唯一标识,通常和主键在一起使用
主表和从表:
插入数据:先插入主表,再插入从表
删除数据:先删除主表,再删除从表
实验:
定义一个需求:
两张表
主表company
从表depart
company:
1、work_id 非空,主键int(4)不满四位要补齐
2、name 非空 char(5)
3、sex 非空 char(2)
depart
1、de_id非空 主键int(6),不满六位要补齐
2、work_id要和主表的work_id关联为外键
3、addrss 为空,但是有一个默认值
4、phone 不能为空而且不能相同
create table company (
work_id int(4) ZEROFILL primary key,
name varchar(5) not null,
sex varchar(2) not null
);
create table depart (
de_id int(6) ZEROFILL primary key,
work_id int(4) ZEROFILL not null,
FOREIGN key (work_id) REFERENCES company (work_id),
address varchar(50) default '地址不详',
phone varchar(255) not null unique
);
ZEROFILL:自动补齐
primary key:主键
auto_increment PRIMARY KEY:自增长
alter table depart add FOREIGH key (work_id) REFERENCES company (work_id):把主表和从表的work_id外键绑定
alter table depart drop PRIMARY key:在外面删除
FOREIGN key (work_id) REFERENCES company (work_id):把主表和从表的work_id外键绑定
实验:
1、两张表:school
de_id int(4) 不满四位要补齐,而且自增长 主键
name varchar(15) not null
email varchar(45)可以为空,而且有默认值bdqnkgc@123.com
2、cloud ky32
id自增长 主键int
class-name 不能为空
de_id 主表关联
adress 可以为空,默认是‘地址不详’
phone int 不能为空,而且不能重复
3、要求删除外键关联,删除从表的主键,重新定义主键为phone
create table school (
de_id int(4) ZEROFILL auto_increment PRIMARY KEY,
name varchar(10) not NULL,
email varchar(25) DEFAULT ‘bdqnkgc@126.com’
);
create table cloudky32 (
id int(4) zerofill auto_increment primary key,
class_name varchar(50) not null,
de_id int(4) zerofill,
address varchar(255) default ‘地址不详’,
phone int(11) not null unique,
FOREIGN key(de_id) REFERENCES school(de_id)
);
更改表名:alter table 原表名 rename 新表名;
实验:
1、两张表:school de_id int(4) 不满四位要补齐,而且自增长 主键 name VARCHAR(15) not NULL email varchar(45) 不可以为空,而且不能重复
money int 不可为空,不能重复
2、cloud_ky32 id 自增长 主键 int class_name 不能为空。 de_id 外键,外键和主表的主键关联。 adress 可以为空,默认是'地址不详' phone int 不能为空,而且不能重复。
3、分别在两张表中插入10条数据
4、 在第二张表中增加一列,hobby。
5、修改主表的name类型为char(15)
6、更改cloud_ky32的表名,为ky2
7、修改 hobby的列明,改为hob
8、通过命令行,把主表的第一行的money的初始值1000,变成900.
1、create table school (
de_id int(4) ZEROFILL auto_increment PRIMARY KEY,
name VARCHAR(15) not NULL,
email varchar(45) not null unique
ALTER TABLE school ADD money int(4) not null;
);
2、create table cloud_ky32 (
id int(4) ZEROFILL auto_increment primary key,
class_name varchar(50) not null,
de_id int(4) zerofill,
address varchar(255) default'地址不详',
phone int(11) not null unique,
foreign key(de_id) REFERENCES school(de_id)
);
- insert into school (de_id,name,email,money)
values
(1,’aa’,’aa’,10),
(2,’bb’,’bb’,20),
(3,’cc’,’cc’,30),
(4,’dd’,’dd’,40),
(5,’ee’,’ee’,50),
(6,’ff’,’ff’,60),
(7,’gg’,’gg’,70),
(8,’hh’,’hh’,80),
(9,’ii’,’ii’,90),
(10,’jj’,’jj’,100);
inster into cloud_ky32 (id,class_name,de_id,adress,phone)
values
(1,’aa’,1,’aa’,10),
(2,’bb’,2,’bb’,20),
(3,’cc’,3,’cc’,30),
(4,’dd’,4,’dd’,40),
(5,’ee’,5,’ee’,50),
(6,’ff’,6,’ff’,60),
(7,’gg’,7,’gg’,70),
(8,’hh’,8,’hh’,80),
(9,’ii’,9,’ii’,90),
(10,’jj’,10,’jj’,100);
4、alter tables cloud_ky32 add hobby varchar(50) not null;
5、ALTER table school MODIFY COLUMN name char(15);
6、ALTER table cloud_ky32 RENAME ky2;
7、ALTER table ky2 CHANGE hobby hob varchar(50);
8、UPDATE school set money=('900') where de_id = 1;
相关文章:
数据库扩展语句和约束方式以及用户管理
数据库扩展语句和约束方式以及用户管理 create TABLE if not exists ky32 ( id int(4) zerofill primary key auto_increment, name varchar(10) not null, cradid int(18) not null unique key, hobby varchar (50) ); auto_increment:表示该字段可以自增长&…...
JMM 简单理解
JMM 简单理解 1 Java 内存模型 Java 内存模型(Java Memory Model,JMM),主要为了屏蔽各种硬件和操作系统的内存差异,以实现让 Java 程序在各种平台下都能达到一致的内存访问效果,而设计的 2 工作内存与主内…...
微软Azure文本转音频,保存成MP3文件【代码python3】
标签: 文本转音频并保存mp3文件; 微软Azure; 微软Azure可以将文本转音频,并保存mp3文件,直接上代码 代码格式:python 3 import os import azure.cognitiveservices.speech as speechsdk# This example re…...
基于单片机的超声波探伤仪设计
摘要 超声波探伤仪是目前工业制造和现代化检测的重要途径之一,广泛的应用在质量检测和产品检测中,通过使用其产品能够有效地降低产品次品的风险。尽管随着电子技术的发展, 国内出现了一些数字化的超声检测仪器,但其数据处理及扩展…...

idea的设置
1.设置搜索encoding,所有编码都给换为utf-8 安装插件 eval-reset插件 https://www.yuque.com/huanlema-pjnah/okuh3c/lvaoxt#m1pdA 设置活动模板,idea有两种方式集成tomcat,一种是右上角config配置本地tomcat,一种是插件,如果使用插件集成,则在maven,pom.xml里面加上tomcat…...

高等数学啃书汇总重难点(八)向量代数与空间解析几何
持续更新,高数下第一章,整体来说比较简单,但是需要牢记公式,切莫掉以轻心~ 一.向量平行的充要条件 二.向量坐标的线性运算 三.向量的几何性质 四.数量积 五.向量积 六.混合积 七.曲面方程 八.空间曲线方程 九.平面的点法式方程 十…...

C#开发DLL,CAPL调用(CAPL>> .NET DLL)
文章目录 展示说明新建类库工程C# 代码生成dllCAPL脚本调用dll,输出结果展示 ret为dll里函数返回的值。 说明 新建类库工程 在visual studio中建立。 C# 代码 using...

0-1背包问题【穷举法+二维dp数组】
问题描述: 使用穷举法解决0/1背包问题。问题描述:给定n个重量为{w1, w2, … ,wn}、价值为{v1, v2, … ,vn} 的物品和一个容量为C的背包,求这些物品中的一个最有价值的子集,且要能够装到背包中。 穷举法:每件物品装还是…...

nodejs+vue+python+php基于微信小程序的在线学习平台设计与实现-计算机毕业设计
困扰管理层的许多问题当中,在线学习也是不敢忽视的一块。但是管理好在线学习又面临很多麻烦需要解决,例如:如何在工作琐碎,记录繁多的情况下将在线学习的当前情况反应给课程问题管理员决策,等等。 流,开发一个在线学习平台小程序一方面的可能会更合乎时宜,另一方面来…...

Spring学习笔记2 Spring的入门程序
Spring学习笔记1 启示录_biubiubiu0706的博客-CSDN博客 Spring官网地址:https://spring.io 进入github往下拉 用maven引入spring-context依赖 写spring的第一个程序 引入下面依赖,好比引入Spring的基本依赖 <dependency><groupId>org.springframework</groupId&…...
【Linux】虚拟机安装Linux、客户端工具及Linux常用命令(详细教程)
一、导言 1、引言 Linux是一个开源的操作系统内核,它最初由芬兰计算机科学家Linus Torvalds于1991年开发。Linux不同于传统的商业操作系统,它常用于服务器、嵌入式系统和个人电脑等各种平台。 Linux具有很多优点,包括稳定性、安全性和可定制…...
Day 47 动态规划 part13
Day 47 动态规划 part13 解题理解300674718 3道题目 300. 最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组 解题理解 300 dp[i]被设置为以nums[i]为结尾的最长递增子序列长度。 class Solution:def lengthOfLIS(self, nums: List[int]) -> int:if len(nums) …...

【广州华锐互动】飞机诊断AR远程指导系统为工程师提供更多支持
随着科技的发展,飞机的维护工作也在不断进步。其中,AR(增强现实)技术的应用使得远程运维成为可能。本文将探讨AR在飞机诊断远程指导系统中的应用,以及它对未来航空维护模式的影响。 AR远程指导系统是一种使用增强现实技…...

【贝叶斯回归】【第 2 部分】--推理算法
一、说明 在第一部分中,我们研究了如何使用 SVI 对简单的贝叶斯线性回归模型进行推理。在本教程中,我们将探索更具表现力的指南以及精确的推理技术。我们将使用与之前相同的数据集。 二、模块导入 [1]:%reset -sf[2]:import logging import osimport tor…...

【深入浅出汇编语言】寄存器精讲第二期
🌈个人主页:聆风吟 🔥系列专栏:数据结构、算法模板、汇编语言 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. ⛳️物理地址二. ⛳️16位结构的CPU三. ⛳️8086CPU给出物理地址的方…...
如何保证分布式情况下的幂等性
关于这个分布式服务的幂等性,这是在使用分布式服务的时候会经常遇到的问题,比如,重复提交的问题。而幂等性,就是为了解决问题存在的一个概念了。 什么是幂等 幂等(idempotent、idempotence)是⼀个数学与计算机学概念,常⻅于抽象代数中。 在编程中⼀个幂等操作的特点是…...
Mybatis特殊SQL的执行
文章目录 模糊查询批量删除动态设置表名添加功能获取自增的主键自定义映射resultMapresultMap处理字段和属性的映射关系 多对一映射处理级联方式处理映射关系使用association处理映射关系 分步查询1. 查询员工信息 2. 查询部门信息 一对多映射处理collection 模糊查询 /*** 根…...

MyBatis-Flex(一):快速开始
框架介绍 MyBatis-Flex 是一个优雅的 MyBatis 增强框架,它非常轻量、同时拥有极高的性能与灵活性。 MyBatis-Flex 官方文档 说明 本文参照官方文档的【快速开始】 章节,编写 Spring Boot 项目的代码示例。 快速开始 创建数据库表 直接参照官网示…...

Vue组件化
组件 组件是实现应用中局部功能的代码(HTML,CSS,JS)和资源(图片,声音,视频)的集合,凡是采用组件方式开发的应用都可以称为组件化应用 模块是指将一个大的js文件按照模块化拆分规则进行拆分成的每个js文件, 凡是采用模块方式开发的应用都可以称为模块化应用(组件包括模块) 传…...

nodejs+python+php+微信小程序-基于安卓android的健身服务应用APP-计算机毕业设计
考虑到实际生活中在健身服务应用方面的需要以及对该系统认真的分析,将系统权限按管理员和用户这两类涉及用户划分。 则对于进一步提高健身服务应用发展,丰富健身服务应用经验能起到不少的促进作用。 健身服务应用APP能够通过互联网得到广泛的、全面的宣…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...

P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...

【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...

力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案
在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。 一、系统核心功能架构&…...