MySQL整体使用》导入数据、约束、多表查询、事务、变量类型、资源占用

news2024/10/6 8:26:36

 我发的MySQL相关内容:

C#基础知识体系框架图,及起对应我发过的博客

linux安装mysql8配置使用,并解决常见问题

MySQL常用命令(DQL)

执行脚本命令,本地生成SQL文件后在服务器执行

// 进入mysql命令控制
mysql
// 如果database已经存在就先删除
show databases;
drop database xx;
// 执行命令添加,如果命令中没有选中对应database则需要创建后进入该dadabase再执行以下命令
source /root/web/xx20220805.sql;
quit

约束

drop table if exists emp;# 表格存在则删除

create table emp (
    id int primary key auto_increment,-- 员工id,主键且自增长
    ename varchar(50) not null unique, -- 员工姓名,非空且唯一
    joindate date not null,-- 入职日期,非空
    salaray double(7, 2) not null,-- 工资,非空
    bonus double(7, 2) default 0-- 奖金,如果没有设置默认为0
);

insert into emp values(1, '张三', '1991-11-11', 8000, 5000);
select * from emp;
-- 建完表后添加非空约束
# alter table 表名 modify 字段名 数据类型 not null;
-- 删除约束
# alter table 表名 modify 字段名 数据类型;

外界约束

需要先创建主表再创建从表(两个表之间关联关系)

 示例代码

drop table if exists emp;# 表格存在则删除
-- 部门表
create table dept(
id int primary key auto_increment,
    dep_name varchar(20),
    addr varchar(2)
);
-- 员工表
create table emp(
id int primary key auto_increment,
    name varchar(20),
    age int,
    dep_id int,
    -- 添加外键dep_id关联id主键
    constraint fk_emp_dept foreign key(dep_id) references dept(id)
);
-- 添加必须按照这个顺序,先添加父类再添加子类
insert into dept(dep_name, addr) values('研发部', '广州'), ('销售部', '深圳');
insert into emp(name, age, dep_id) values
('张三', 20, 1),
('李四', 20, 1),
('王五', 20, 1),
('赵六', 20, 2),
('孙七', 23, 2),
('周八', 16, 2);

select * from emp;

-- 删除时需要把子类删除完再删父类

-- 删除外键关联关系
alter table emp drop foreign key fk_emp_dept;

-- 建表后添加外键
alter table emp add constraint fk_emp_dept foreign key(dep_id) references dept(id);

数据库设计

表关系一对多

        上面的一个部门对应多个员工,多对一与之相反

表关系多对多

        建立第三张中间表。中间表至少包含2个快键,分别关联双方主键。

表关系一对一

        在任意一方建立外键,关联对方主键,并设置外键唯一

 多表查询

-- 多表查询
select * from emp, dept;# 取所有集合的组合关系,显示内容太多需要筛选
select * from emp, dept where emp.dep_id = dept.id;# 内连接;按照id相同的来显示,会比上一个少显示
select * from emp inner join dept on emp.dep_id = dept.id;# 同上
select * from emp left join dept on emp.dep_id = dept.id;# 左半连接查询
select * from emp right join dept on emp.dep_id = dept.id;# 右半连接查询
# 多表查询,获取部门属于广州的ID,用该id在员工中查找信息
select * from emp where dep_id in (select id from dept where addr = '广州')

事务

整体数据更改前begin,正常执行完后commit提交,中间出现错误rollback回滚到begin时数据,保证数据正常保存或执行完。

begin;        # 开始事物
rollback;     # 终止事物,从begin开始的全部回滚
commit;       # 结束事物,正常执行完

 数据库连接池

        多个用户访问,数据库连接和关闭比较浪费资源,多个连接后动态分配给用户已解决这个问题。 

 创建表格时,如下关键字功能

PK:Primary Key, 主键

NN:Not Null, 非空

UQ:Unique, 唯一索引,具有unique属性的列确保所有的记录的值都不同。

BIN:Binary 二进制数据(比text更大的二进制数据)

UN:unsigned 无符号 整数(非负数)

ZF:Zero fill,用0填充所有剩余空间,例如,int(4),而值为1时,则内容显示为0001

AI:Auto Increment,自动增长

G:Generated Column,基于其它列的公式生成值的列

比如我这样添加(默认值错误,只用于描述):

 数据库和java变量类型对比

JDBCType            JavaType
    CHAR                String         建议使用 mysql char(1) 代替boolean 0 , 1  
    VARCHAR             String
    LONGVARCHAR         String
    NUMERIC             java.math.BigDecimal
    DECIMAL             java.math.BigDecimal
    BIT                 boolean        mysql tinytin(1)
    BOOLEAN             boolean        mysql tinytin(1)
    TINYINT             byte           mysql tinyint
    SMALLINT            short
    INTEGER             int
    BIGINT              long
    REAL                float
    FLOAT               double
    DOUBLE              double
    BINARY              byte[]
    VARBINARY           byte[]
    LONGVARBINARY       byte[]
    DATE                java.sql.Date
    TIME                java.sql.Time
    TIMESTAMP           java.sql.Timestamp
    CLOB                Clob
    BLOB                Blob
    ARRAY               Array
    DISTINCT            mapping of underlying type
    STRUCT              Struct
    REF                 Ref
    DATALINK            java.net.URL[color=red][/color]

查看mysql占用资源大小

ps -ef | grep mysqld            // 看下ip
top -H -p mysql_pid             // 根据ip查看资源线程的资源占用
mysql -u root -p                // 登录后台,然后输入密码
// 查看资源,limit 0,5;从第0个开始显示5个
select thread_id,name,THREAD_OS_ID from performance_schema.threads limit 10;

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

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

相关文章

svg绘(viewBox viewport preserveAspectRatio)代替png图片等

当我们的代码中需要一个小图标的时候没必要去iconfont进行下载图标使用 要是下载的png格式那么容量还很大 远不如svg 直接自己代码写 记住svg的坐标朝向和数学坐标轴不一样 实现下图添加的小图标 <svg width"20px" height"20px" style"border: …

2023java面试之Zookeeper基础

一、说说 Zookeeper 是什么&#xff1f;直译&#xff1a;从名字上直译就是动物管理员&#xff0c;动物指的是 Hadoop 一类的分布式软件&#xff0c;管理员三个字体现了 ZooKeeper 的特点&#xff1a;维护、协调、管理、监控。简述&#xff1a;有些软件你想做成集群或者分布式&a…

冯诺依曼体系结构

冯诺依曼体系结构 我们常见的计算机&#xff0c;如笔记本。我们不常见的计算机&#xff0c;如服务器&#xff0c;大部分都遵守冯诺依曼体系。 截至目前&#xff0c;我们所认识的计算机&#xff0c;都是有一个个的硬件组件组成&#xff1a; 输入单元&#xff1a;包括键盘, 鼠…

netbeans中配置maven

deploy-发布到远程maven库本节默认maven库为nexusnetbeans中按ctrl1&#xff0c;打开Project窗口&#xff1b;在Project窗口中找到相关的project或module,在项目名上点击鼠标右键&#xff1b;在弹出菜单中找到菜单“Run Maven”的子菜单“Goals”&#xff0c;并点击&#xff0c…

PCB封装创建(IC类+USB)

目录 一&#xff1a;IC类 封装原理图 规格参数选最大。创建过程 1.放置焊盘 2.我们需要八个上图焊盘&#xff0c;可以用特殊粘贴 3.丝印层设置 封装向导 右击0805R&#xff0c;选择footprint 输入焊盘尺寸 二&#xff1a;USB封装 原理图 创建过程 1.放置焊盘&#x…

SSM 03_SpringMVC REST风格 Postman SSM整合 拦截器

01-SpringMVC简介SpringMVC是隶属于Spring框架的一部分&#xff0c;主要是用来进行Web开发&#xff0c;是对Servlet进行了封装。SpringMVC是处于Web层的框架&#xff0c;所以其主要的作用就是用来接收前端发过来的请求和数据然后经过处理并将处理的结果响应给前端&#xff0c;所…

元宇宙时代业务扩张,专精特新小巨人找到了增长“神器”

进入2023年&#xff0c;元宇宙时代正扑面而来。自从脸书公司更名为Meta以来&#xff0c;元宇宙就在全球迅速走红。《福布斯》认为&#xff0c;2030年全球元宇宙的市场规模有望高达5万亿美元。更为重要的是&#xff0c;元宇宙正在成为数实融合的新界面、未来商业的新型基础设施。…

如何在浏览器中安装使用Vue开发者工具?Vue开发者工具的安装使用?可直接提取插件安装使用

一个混迹于Github、Stack Overflow、开源中国、CSDN、博客园、稀土掘金、51CTO等 的野生程序员。 目标&#xff1a;分享更多的知识&#xff0c;充实自己&#xff0c;帮助他人 GitHub公共仓库&#xff1a;https://github.com/zhengyuzh 以github为主&#xff1a; 1、分享前端后端…

【阶段四】Python深度学习08篇:深度学习项目实战:循环神经网络SimpleRNN、LSTM进行淘宝商品评论文本情感分析

本篇的思维导图: 项目背景 随着信息化社会的发展,互联网成为方便、快捷的信息获取渠道之一。在电子商务和社会网站中,大量非结构化的评论文本作为最直观的用户体验数据被保存下来。如何利用这些文字信息归纳出用户对某一事、物的观点态度成为自然语言(NLP)领域一项…

RNN从理论到实战【实战篇】

来源&#xff1a;投稿 作者&#xff1a;175 编辑&#xff1a;学姐 昨天的文章中&#xff0c;我们学习了RNN的理论部分&#xff0c;本文来看如何实现它&#xff0c;包括堆叠RNN和双向RNN。从而理解它们的原理。最后看一个应用到词性标注任务的实战。 RNNCell 首先实现单时间步…

iMX6ULL —按键输入捕获与GPIO输入配置与高低电平读取

硬件介绍1.1 板子上按键原理图先来看原理图&#xff0c;我板子上有4个按键sw1~sw4:1.1.1 SW1SW1是板子的系统复位按键&#xff0c;不可编程使用1.1.2 SW2、SW3SW2&#xff1a;SNVS_TAMPER1&#xff0c;GPIO5_1平时是低电平&#xff0c;按下去是高电平。SW3&#xff1a;ONOFF它也…

2023年java面试题之zookeeper基础2

一、请描述一下 Zookeeper 的通知机制是什么&#xff1f;Zookeeper 允许客户端向服务端的某个 znode 注册一个 Watcher 监听&#xff0c;当服务端的一些指定事件触发了这个 Watcher &#xff0c;服务端会向指定客户端发送一个事件通知来实现分布式的通知功能&#xff0c;然后客…

echarts基本用法

目录 tooltip:{ // 设置提示框信息 图表的提示框组件 legend:{ // 图例组件 toolbox : { //工具箱组件 可以另存为图片等功能 grid{ //网格配置 grid可以控制线型图 柱状图 图表大小 xAxs: { // 设置x轴的相关配置 y轴同理 series:[ // 系列图表 它决定着显示那种…

Spring MVC 详解 (Spring Boot)

Spring MVC 详解 - Spring Boot一、什么是 Spring MVC1.1 MVC 定义1.2 MVC 和 Spring MVC 的关系1.3 学习目的二、Spring MVC 创建和连接2.1 创建 Spring MVC 项目2.2 相关注解三、获取参数3.1 使用 Servlet API3.2 通过方法参数直接拿到3.2.1 传递单个参数3.2.2 传递多个参数3…

【Acwing 周赛复盘】第86场周赛复盘(2023.1.14)

【Acwing 周赛复盘】第86场周赛复盘 周赛复盘 ✍️ 本周个人排名&#xff1a;678/2358 AC情况&#xff1a;2/3 这是博主参加的第一次周赛&#xff0c;深刻体会到了世界的参差 &#x1f602; 看到排名 TOP3 的大佬都是不到 5 分钟内就 AK 了&#xff0c;真是恐怖如斯&#xff0…

29.动态内存申请

1.动态内存分配的概念 在数组一章中&#xff0c;介绍过数组的长度是预先定义好的&#xff0c;在整个程序中固定不变&#xff0c;但是在实际的编程中&#xff0c;往往所需的内存空间取决于实际输入的数据&#xff0c;而无法预先确定。为了解决上述问题&#xff0c;C语言提供了一…

Linux 发布 JavaWeb 项目

Linux 发布 JavaWeb 项目 安装 mysql 使用 yum search mysql-community 查看是否安装下载地址&#xff1a;https://dev.mysql.com/downloads/repo/yum/ 选择自己虚拟机的版本 在此处&#xff0c;复制 链接地址&#xff0c; 然后使用命令 wget 链接地址 来进行 下载rpm 安装 …

Python解题 - CSDN周赛第23期 - 树形背包与优化

以问哥目前的水平来看&#xff0c;本期的四道题的整体难度还是中等偏上的&#xff0c;而且从结果上来看&#xff0c; 也达到了竞赛的标准&#xff08;只有三名选手拿到满分&#xff09;。也许在某些大佬看来还是太简单了&#xff0c;毕竟都是模板题&#xff0c;直接套模板就能过…

基于深度学习人脸性别识别项目

项目概述要求针对提供的人脸数据集&#xff0c;根据人脸图像预测人脸性别。本次将提供 20000 多张已经分割的人脸图像&#xff0c;要求基于人脸图像自动识别该人性别。数据集的年龄从 1 岁覆盖到 100 多岁&#xff0c;包括了白种人、黄种人、黑种人等多种种族数据。数据集存在人…

2022年“网络安全”赛项海南省赛选拔赛 任务书

2022年“网络安全”赛项海南省赛选拔赛 任务书 一、竞赛时间 共计6小时。 &#xff08;二&#xff09;A模块基础设施设置/安全加固&#xff08;350分&#xff09; 一、项目和任务描述&#xff1a; 假定你是某企业的网络安全工程师&#xff0c;对于企业的服务器系统&#xff0c…