数据库扩展语句和约束方式以及用户管理
数据库扩展语句和约束方式以及用户管理
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能够通过互联网得到广泛的、全面的宣…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
