Mysql数据库和Sql语句

数据库管理:

sql语句:数据库用来增删改查的语句(重要)

备份:数据库的数据进行备份

主从复制、读写分离、高可用(重要)

Mysql数据库和Sql语句

一、Mysql数据库

1、数据库:组织、存储、管理数据的仓库

2、 数据库的管理系统(DBMS):实现对数据有效组织、管理和存取的系统软件

3、数据库软件:

mysql、oracle(大数据系统一般使用、大企业使用)、sql-server、MariaDB也是mysql mysld、postgreSQL(大象数据库)

4、关系型和非关系型数据库:

关系型数据库:mysql、oracle、postgreSQL

非关系型数据库:

关系型数据存储的结构:是一张二维的表格,表里面有行和列

列:是对象、字段

行:对象的信息、字段的属性

行+列组成一张表

只有关系型数据库才有表

非关系型数据库:

缓存型数据库:Redis

索引型数据库:ES

文档型数据库:MongoDB

键值对形式存储的结构

key value

test1=3

5、关系型和非关系型数据库优缺点:

关系型优点:表的结构清晰、逻辑容易整理、记录的数据比较完整

关系型缺点:读写速度比较慢、并发量差、数据迁移比较麻烦

非关系型数据库优点:可以进行高并发读写、对海量数据依旧可以保持高效率的存储和访问、

架构可扩展

非关系型数据库缺点:键值对形式储存,数据逻辑比较复杂,数据保存咋缓存当中(redis),如果意外重启所有数据都会丢失

6、mysql的数据类型:

char:固定长度的字符类型、用于存储固定长度的字符串

char定义好了长度之后,不论写的值是多少,多会占用固定长度的字节大小,保存咋及磁盘上都是四个字节

varchar:可变长度的字符类型、存储的是可变长度的字符串

varchar在保存字符串时,是多少就保存多少,在保存的字符串结尾默认有一个隐藏的结束符,会多占一个字节

varchar比char要节约磁盘空间

从读写速度来说,char的读写性能要高于varchar,char是连续的磁盘空间,保存的内容是连续的,varchar在增删改查之后会产生一些磁盘空间的碎片文件,影响读写性能

int:存储的数据类型为整数

float:单精数浮点数,用于存储浮点数(小数点) 格式 float(m,d) m表示总位数,d表示小数位数

double:双精度浮点数 double(m,d) m表示总位数,d表示小数位数

date:用于存储日期,YYYY-MM-DD,datetime用来存储日期和时间 格式 YYYY-MMM-DD HH:MM:SS

timestamp:时间戳,和datetime类似,但是它可以自动记录当前时间

smallint:存储小整数

bigint:存储大整数

decimal(5,2):也是存储浮点数,存储精度的浮点数,5表示总位数,2表示小数位

二、数据库的管理:Sql语句

增删改查-----------sql语句

1、sql中的一些名词

数据区:database

表:table

行:row

列:column

索引:index

视图:view

用户:user

权限:privilege

存储过程:procedure

存储函数:function

调度器:event

2、sql的语言规范

在数据库系统中,

sql的语句是不区分大小的,但是建议使用大写,

sql语句可以单行或者多行,但是结尾必须以英文的分号结束

3、sql的命令规范:

库名、表名、列的名字,必须以字母开头、后面可以是数字,也可以跟上特殊符号

不要使用mysql的保留字符,如table、database、select、show

数据库、表名、用户名严格区分大小写

4、sql语言的分类

DDl(数据库定义语言):创建数据库的对象语言、库、表和索引等等,如:create drop

DML(数据库操作语言):对表里面的数据进行管理,如:select、update、insert、delete

DQL(数据库查询语言):数据库的查询语句,如:select

DCL(数据控制语言):控制和管理数据库用户的角色和权限。如:grant、revoke

TCL(事务控制语句):用来管理数据库的事务,用于脚本开发、存储过程等等,如:commit、rollback、savepooint

DDL:创建库和表的语句

在这里插入图片描述

# 一条数据库的语句是连贯的,以分号为结尾表示一条完整的sql语言,但是太长了,不方便阅读和理解,我们可以对一条语句进行分行的写法但是关键词不能跨行
CREATE TABLE student (
id int (4) not null,
# 定义表的列的属性,数据类型和是否为空;
name char (10) not null,
score decimal (5,2)
);

命令行:desc student; (展示student的详细信息)

​ desc student\G; (纵向展示信息)

±-----±----±--------±------+
| Null | Key | Default | Extra |
±-----±----±--------±------+
| NO | | NULL | |
| NO | | NULL | |
| YES | | NULL | |
±-----±----±--------±------+

key:表示是否是主键或者外键

default:如果没有数据的默认展示结果

extra:提供列的附加信息

5、删库和删表

删库:DROP database xy102;
删表:DROP tables student;

三、DML和DQL 管理语句和查询语句

1、DML:insert 插入数据

DML:insert 插入数据
insert into 表名(字段1,字段2,字段3) values(1,2,3);insert into student(id,name,score) values (1,'赵氏',99.98);
insert into student values (2,'钱氏',99.66);
insert into student values (3,'孙氏',99.33);
insert into student values (4,'李氏',null);insert into student values (null,null,null);
# 此时会报错,因为id和name不能为空insert into student values (5,' ',null);
# 此时表示空值,不同于null的为空insert into student values (6,'吴氏',88.88);select * from student where score is null;
# 可以检索到score为null的行select * from student;desc student;null和空值之间的区别:null就是啥也没有,就是为空,空值也是值,只是值是空

在这里插入图片描述

表明:null为NO表示不能为空,为YES表示可以为空,这里表示id和name不可以为空,score可以为空。

2、修改和更新

修改和更新:
# ps:只能对已有数据进行更新和修改
update   # 语法
update 表名 set 列名=值 where 条件;update student set score=90 where id=4
select * from student;
# 此时4 李 的score为90update student set name='周 where id=5;
select * from student;
# 此时5 score为99.22 的name为周

3、delete删除表的数据

delete删除表的数据
delete from 表名 where 条件;delete from student where id=2;
select * from student
# 此时第二行 2 '钱' 99.66被删除,其他id不变,因为这个值是由我们自己设置生成的

4、DQL语句,查询语句:select

DQL语句,查询语句:
select * 
# *表示所有列select score from student;
# 查询score列,生成结果为core的列select name,score from student;
# 查询name和score的列,生成为那么在前,score在后的列查看指定行:
select * from student limit 2,3;
# 表示显示第二行之后的三行# 显示第一行到第三行
select * from student limit 0,3;# 如何进行去重查询
select distinct name from student;
# 指定去除重复的name
# 只能指定一个内容进行查重,不能指定多个内容进行查重

5、where语句:就是条件的筛选

where语句:就是条件的筛选,select * from student;select * from student where id=7;
# 筛选出id为7的行
# 筛选出id为7且score为88.88的行
select * from student where id=7 and score=88.88;# and 表示逻辑且的意思  or 表示逻辑或的意思

6、模糊查询:like

模糊查询:
likeselect * from student where name like '赵%';
# 以什么(赵)为开头select * from student where name like '%氏';
# 以什么(氏为结尾select * from student where name like '%氏%';
# 只有包含(氏)即可

7、修改表名和表的结构:alter

# ALTER 修改表名和表的结构
如何修改表名
alter table student rename stu01;
# 修改后刷新,查看表名变为stu01如何给表添加一列
alter table stu01 add address varchar(50)default '地址不详细';
select * from stu01;
# 此时新增一列为address 地址不详# 修改字段的数据类型
alter table stu01 modify column address char(10);# 删除例
alter table stu01 drop address;# 修改列的名称
alter table stu01 change name username char(10);
# 后面一定要加数据类型,不然会报错
# 修改前为name 修改后为username
desc stu01;

table stu01 add address varchar(50)default ‘地址不详细’;
select * from stu01;

此时新增一列为address 地址不详

修改字段的数据类型

alter table stu01 modify column address char(10);

删除例

alter table stu01 drop address;

修改列的名称

alter table stu01 change name username char(10);

后面一定要加数据类型,不然会报错

修改前为name 修改后为username

desc stu01;


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

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

相关文章

HTML(五)——HTML区块,布局

HTML区块 HTML可以通过 <div> 和 <span>将元素组合起来&#xff0c;可以来布局&#xff0c;就是盒子&#xff0c;div是块级盒子&#xff0c;里面 可以放任何东西&#xff0c;span里面装的是文本 HTML 区块元素 大多数 HTML 元素被定义为块级元素或内联元素。 实…

Java——————接口(interface) <详解>

1.1 接口的概念 在现实生活中&#xff0c;接口的例子比比皆是&#xff0c;比如&#xff1a;笔记本电脑上的USB接口&#xff0c;电源插座等。 电脑的USB口上&#xff0c;可以插&#xff1a;U盘、鼠标、键盘...所有符合USB协议的设备 电源插座插孔上&#xff0c;可以插&#xff…

BGP选路之Next Hop

原理概述 当一台BGP路由器中存在多条去往同一目标网络的BGP路由时&#xff0c;BGP协议会对这些BGP路由的属性进行比较,以确定出去往该目标网络的最优BGP路由,然后将该最优BGP路由与去往同一目标网络的其他协议路由进行比较&#xff0c;从而决定是否将该最优BGP路由放进P路由表中…

Mysql的主从复制(重要)和读写分离(理论重要实验不重要)

一、主从复制&#xff1a;架构一般是一主两从。 1.主从复制的模式&#xff1a; mysql默认模式为异步模式&#xff1a;主库在更新完事务之后会立即把结果返回给从服务器&#xff0c;并不关心从库是否接收到以及从库是否处理成功。缺点&#xff1a;网络问题没有同步、防火墙的等…

Codeforces Round 960 (Div. 2)

比赛链接&#xff1a;Dashboard - Codeforces Round 960 (Div. 2) - Codeforces A题 Submission Bait​​​​​​ 题目&#xff1a; 中文题面&#xff1a; 爱丽丝和鲍勃在大小为 n 的数组 a 中进行游戏。 他们轮流进行运算&#xff0c;爱丽丝先开始。不会运算的一方将输掉…

Vue3 SvgIcon组件开发

在前面自定义tree组件继续功能迭代前&#xff0c;我们先开发一个通用的ScgIcon组件&#xff0c;用于后续组件模板中小图标的展示。 引入iconfont 官网&#xff1a;https://www.iconfont.cn/ 选取图标进行下载&#xff0c;只取iconfont.js文件 在prettier中忽略该文件&#x…

Performance Metrics in Evaluating Stable Diffusion Models

1.Performance Metrics in Evaluating Stable Diffusion Models 笔记来源&#xff1a; 1.Performance Metrics in Evaluating Stable Diffusion Models 2.Denoising Diffusion Probabilistic Models 3.A simple explanation of the Inception Score 4.What is the inception s…

【笔记:3D航路规划算法】一、RRT

目录 关键概念3D路径规划算法1. A*算法2. RRT1. 初始化&#xff1a;2. 实例化搜索算法&#xff1a;3. 路径生成&#xff1a;4. 绘制图像&#xff1a; 3D路径规划是在三维空间中寻找从起点到终点的最短或最优路径的一种技术。它广泛应用于无人机导航、机器人运动规划、虚拟现实等…

【BUG】已解决:ValueError: All arrays must be of the same length

ValueError: All arrays must be of the same length 目录 ValueError: All arrays must be of the same length 【常见模块错误】 【解决方案】 问题原因 解决方法 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&…

SolidWorks 二次开发--创建属性页面及控件事件(二)

在前文中我们学习了如何创建和显示属性页面&#xff0c;本章节将重点介绍如何向属性页面中添加控件。控件是属性页面的基本组成部分&#xff0c;可以是文本框、按钮、复选框等&#xff0c;用于用户交互和数据展示。接下来我们将看到如何定义、配置和操作这些控件&#xff0c;让…

边缘设备使用记录--阿加犀AIBox 6490(realsense+yolox部署)

边缘设备使用记录--阿加犀AIBox 6490:realsenseyolox部署 前言Realsense SDK ROSYOLOx部署预处理后处理可视化ROS节点 总结 前言 由于6490这个板子是有type-c接口的&#xff0c;所以这里准备用RealsenseYOLOx来先简单做一个实时的目标检测的东西出来&#xff0c;这里也用到上…

数据开发/数仓工程师上手指南(一)数仓概念总览

前言 笔者毕业最开始从事的就是大数据开发和数据仓库建设工作&#xff0c;途中曾担任过人工智能工程师和计算机视觉工程师&#xff0c;没想到最后兜兜转转还是回到了最原本的工作数据开发工程师。但很少有写关于本职工作的技术内容输出。 之前笔者撰文内容大部分都是关于算法…

echarts里面的option的详细讲解

option4 {// 鼠标移动提示框tooltip: {// 触发类型&#xff08;item&#xff1a;用于散点图、饼图。axion&#xff1a;用于柱状图、折线图。none:什么都不触发&#xff09;trigger: axis,// 提示框内排序order: seriesDesc,// 提示框背景颜色backgroundColor: "#FF5800&q…

python easygui库常用方法介绍

msgbox() 弹出对话框 这是最基本的弹出对话框&#xff0c;用于显示简单的消息或提示。例如&#xff1a; import easygui easygui.msgbox("欢迎使用EasyGUI!") buttonbox() 带有多个按钮的对话框 它会显示一个带有多个按钮的对话框&#xff0c;用户点击后返回所选…

“探求新质生产力 推进中国式现代化”学习交流活动在河北廊坊举办

7月21日&#xff0c;一场以“探求新质生产力 推进中国式现代化”为主题的学习交流活动在河北省廊坊市举办&#xff0c;2000余名企业界人士共同探讨企业发展的新路径与新动力。 7月21日&#xff0c;“探求新质生产力 推进中国式现代化”学习交流活动在河北省廊坊市举办。图为活动…

【无人机】测绘行业新时代

【无人机】测绘行业新时代 无人机测绘主要指的是依托无人机系统为主要的信息接收平台&#xff0c;通过无人机机载遥感信息采集和处理设备&#xff0c;将最终所获取的遥感信息传输到测绘中心&#xff0c;经过数据技术处理&#xff0c;形成立体化的数字模型&#xff0c;以满足行…

【C++】学习笔记——哈希_2

文章目录 十八、哈希3. 实现哈希表哈希表的存储节点哈希函数哈希表的定义哈希表的插入哈希表的查找哈希表的删除测试函数完整代码结果 未完待续 十八、哈希 3. 实现哈希表 哈希表的实现方法有蛮多种&#xff0c;这里我们选一个比较经典的开散列法来实现哈希表。由于STL库里的…

免费【2024】springboot北京医疗企业固定资产管理系统的设计与实现

博主介绍&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

学术研讨 | 区块链网络体系结构研讨会顺利召开

添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 近日&#xff0c;国家区块链技术创新中心组织了“区块链网络体系结构研讨会”&#xff0c;会议面向跨域交互多、计算规模大、数据管理复杂、性能与扩展性要求高等特征的区块链网络的体系结构展开交流研讨&…

linux下磁盘分区工具GParted

最近发现安装的redhat机器部分磁盘大小分配不合理 使用gpated对磁盘重新分区 1、使用U盘制作一个启动盘 下载启动盘制作工具Index of /downloads 使用非常简单&#xff0c;选择gparted-live-1.1.0-3-i686.iso包即可 2、制作完成后&#xff0c;重启机器&#xff0c;选择U盘…