搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
凡人多烦事01
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
win10下乌龟git安装和使用_git小乌龟安装
2
管理类单体项目从0到1(后端开发)_单体架构项目从零开始
3
Python-VBA编程500例-002(入门级)_vba编程入门自学100例
4
点云方向论文阅读笔记(1)_点云方向 顶会
5
AI绘画最强SD(Stable Diffusion)玩法实操教学案例及商业变现项目分享_sd绘画
6
【IC验证】一文速通多通道数据整型器(MCDF)
7
探索Transformer模型在图像处理中的应用
8
lodash和lodash_es的区别_lodash和lodash-es
9
解决No module named tkinter
10
Android类似微信聊天的页面开发教程(Kotlin)三_android 仿微信聊天界面
当前位置:
article
> 正文
mysql 基本操作1_mysql 操作指南
作者:凡人多烦事01 | 2024-06-05 23:29:04
赞
踩
mysql 操作指南
一、简介
数据库:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库 db:数据库 dbms 数据库管理系统
在当今的互联网中,最常见的数据库模型主要是两种,即关系型数据库和非关系型数据库。mysql就是典型的关系型数据库。
关系型数据库:将数据保存在不同的表中,再将这些表放入数据库中,而不是将所有数据统一放在数据库里,这样的设计增加了MySQL的读取速度,
灵活性和可管理型也得到了很大提高,访问以及管理MySQL数据库的最常用标准化语言为SQL结构化查询语句。数据持久化存储在硬盘当中;
非关系型数据库:
二、关系型数据库的设计模式 ER模型和三范式
E entity 代表实体的意思 对应到数据库中的一张表
R relationship 代表关系的意思
三范式 1,字段不能拆分 2.唯一标识 3.关系引用主键
三、数据库的字段和约束
1.字段类型
数字:int,decimal(小数的); 例如decimal(5,2)的意思是,最大5位数,其中小数2位,1.2和2.33都行,但10000.21就不行,超出位数了
字符串:char varchar test ,
text存储比较多的字符串,比如商品的描述信息
char存储的是固定的字符串数据 char(8) 最多8位 不满8个字符会在右侧自动补上空格字符
varchar存储的是可变的数据 varchar(30) 最多30位
日期:datetime,date,time 格式 "1989-12-18"
bit:两个状态存储的时候建议使用存储0和1方式,比如性别,逻辑删除is_delete
2.约束
主键(primary key) 不能重复,唯一标识
非空(not null) 比如要姓名不能为空,当保存为null的时候就会报错。
唯一(unique) 这个值是唯一的。有重复的了会报错(比如身份证)
默认default;如果不写就会有个默认值,比如 default 18
外键foreign key:
四、mysql 安装
1.sudo apt-get install mysql-server
2.设置密码
3.Ps -ajx|grep mysql 查看进程方式检查mysql 安装成功没有
Mysql -uroot -p你的密码 进入mysql代表安装成功
4.sudo service mysql start 开启mysql服务
sudo service mysql stop 停止mysql服务
sudo service mysql restart 重启mysql服务
5.外部链接数据库
1、进入数据库 mysql –uroot –p你的密码
2、show databases 查看所有的数据库
3、use mysql 使用mysql数据库
4、show tables 查看mysql库中所有的表
5、select user,host from user; 在user 这个表里面查看用户和用户权限字段
6、grant all privileges on *.* to root@"%" identified by "123456" with grant option; 创建用户并且赋予权限
7、delete from user where user=’root’ and host = ‘localhost’; 删除原来初始创建的root用户
8、flush privileges; 刷新数据库特权
9、sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
打开配置文件,将bind_address修改为0.0.0.0
10、重启mysql服务,使用windows下客户端进行连接
五、数据库操作
1.数据库的操作
show databases; 查看所有库
create database 数据库名 charset=utf8; 创建数据库
drop database 数据库名 删除数据库名
use 数据库 切换数据库
select database(); 查看当前所用数据库
2.表操作
show tables; 查看所有表
create table 表名 (字段1 约束1 约束2,字段2 约束1 约束2) 创建表
drop table 表名 删除表
rename 旧表名 to 新表名 重命名表
3.字段操作
desc 表名 查询字段(表结构)
增加字段 alter table 表名 add 字段 约束1 约束2
删除字段 alter table 表名 drop 字段
修改字段 alter table 表名 change 原字段 新字段名 约束
删除主键:需要先把主键的改为普通的id 不能是自动增长,然后再删除主键
① 、alter table students change id id int;
②、alter table students drop primary key;
③、alter table students change id id int auto_increment primary key not null;
4.数据操作
insert into 表名 values(值,值),(值,值),(值,值) 添加三条数据 ()中字段值缺一不可,全字段插入数据
insert into 表名(字段1,字段2) valuse(值,值) 部分字段添加数据 有默认值和not null 可以不添加数据、
delete from 表名 where id=1 删除数据 按照查询语句查找到的数据
update 表名 set 字段=值 where id=2 修改查询语句查找到的数据
select * from 表名 查看表所有数据
六、数据库备份与恢复
sudo mysqldump –u用户 –p密码 数据库名 > ~/Desktop/test1back.sql (> 后为备份地址 文件后缀为.sql) 备份
sudo mysql –u用户 –p密码 数据库名 < ~/Desktop/test1back.sql 恢复
七、数据查询
1.select 列名 from 表名 查询单列数据
2.select distinct 列名 from 表名 去重查询单列数据
3.条件查询 where
1.比较运算符 > < = >= <= !=
select * from 表名 where id>3;
2.逻辑运算符 and not or
select * from 表名 where id>3 and id<5;
3.模糊查询 like _ 占一个字符位 % 占0或多个字符位
select name from 表名 where name like "赵%" 查询姓赵的姓名
4.范围内查找 between .. and .. 连续 in 不连续
select * from 表名 where id between 8 and 11 查询id是8到11的数据 包括8和11
select * from 表名 where id in(8,11) 查询id是8和11的数据
5.空判断查询 is null , is not null
select * from 表名 where birthday is null 查询 生日为空的数据
6.优先级
小括号,not,比较运算符,逻辑运算符
and比or先运算,如果同时出现并希望先算or,需要结合()使用
4.聚合查询 对某一列数据进行统计
count(列名) 统计数据总数 count(*)
sum(数字列名) 求某一列的和
avg(数字列名) 求某一列的平均数
max(列名) 求某一列的最大值
min(列名) 求某一列的最小值
select max(name),sum(num) * from 表名
5.分组 group by
把列相同的值归为一组方便统计
根据一个字段进行分组后,无法看到别的字段信息但可以使用聚合其他字段
根据id进行分组,可以看到别的字段信息
select count(*) from 表名 group by gender 根据性别字段gender分组,然后统计总数
分组后的数据筛选要用having而不用where,having后面的条件运算符与where一样
where是对from后面指定的表进行数据筛选,属于对原始数据的筛选
having是对group by的结果进行筛选
select count(*) from 表名 group by gender having id>3 根据性别字段gender分组,筛选出id>3 的,然后统计总数
6.排序 order by
order by [列1],[列2]
先按照列1去排序,默认是按照asc排序(正序),如果要倒序,在列后面加desc。
按照列1排序完成后,如果有顺序相同的,再按照列2进行排序。
select * from 表名 列1 asc,列2 desc; 按照列1正序排序完成后,如果有顺序相同的,再按照列2倒序。
7.限制集(分页)
limit [start],[count]
start 为开始的id,count 每页数据数
求第n页的数据
select * from 表名 where is_delete=0 limit (n-1)*m,m 每页m条数据
8.完整的sql语句
select distinct * from 表名 where ... group by having order by limit start count
执行顺序 from 表名 where .... group by ... having ... select distinct * order by ... limit star,count
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/凡人多烦事01/article/detail/678579
推荐阅读
article
【异常】MySQL提示异常D
at
a
trunc
at
ion
:
Out of range value f...
重新修改数据库id的值的范围即可,建议将类型变成bigint。_
com
.
mysql
.cj.
jdbc
.
exceptions
...
赞
踩
article
mysql
报错:com.
mysql
.
jdbc
.Mysql
Data
Truncation:
Data
t...
出现异常:com.
mysql
.
jdbc
.Mysql
Data
Truncation:
Data
truncation
: Ou...
赞
踩
article
ShardingSphere修改报错-Mysql
Data
Truncation:
Data
trunc...
ShardingSphere修改报错-
com
.
mysql
.cj.
jdbc
.
exceptions
.Mysql
Data
Tru...
赞
踩
article
【开源】
渔具
租赁
系统
JAVA
+
Vue
.
js
+
SpringBoot
+MySQL...
Vue
.
js
+
SpringBoot
前后端分离新手入门项目《
渔具
租赁
系统》,包括
渔具
档案模块、
渔具
租赁
模块、
渔具
归还模块、...
赞
踩
article
MySQL
内存缓冲池
InnoDB
Buffer
Pool
Sizes 深度解析_mysql
数据库
...
InnoDB
Buffer
Pool
是
InnoDB
存储引擎用于缓存表和索引数据的主要内存结构。它的主要功能是将经常访问的...
赞
踩
article
MySQL
|
JDBC
连接
数据库
详细教程_
mysql
数据库
jdbc
连接
需要的信息...
目录1.
JDBC
是什么(1)API(2)
JDBC
来源背景 (3)下载驱动包2.
JDBC
操作
数据库
准备工作 (1)导入项目...
赞
踩
article
【
MySql
】
JDBC
的
基本
使用
_
mysql
连接
的
包...
JDBC
的
基本
使用
文章目录
JDBC
的
基本
使用
1、概念2、
使用
JDBC
下载
mysql
厂商提供
的
jar包导入jar包
连接
My...
赞
踩
article
MySQL
-
JDBC
详细介绍_
mysql
jdbc
...
JDBC
全称Java database connectivity,是Java和数据库连接的一个桥梁,是一种使用Java操...
赞
踩
article
5. My
SQL
-
JDBC
&
SQL
注入
&博客系统(万字详解)_mysqldatasour...
JDBC
的介绍;如何通过
JDBC
连接数据库;什么是
SQL
注入
;通过
JDBC
实现简单的博客系统。_mysql...
赞
踩
article
MySql
--
JDBC
_
mysql
-
jdbc
...
JDBC
概述●
JDBC
(Java DataBase Connectivity)java数据库连接● 是一种用于执行SQ...
赞
踩
article
mysql
——
JDBC
_dbijm...
概述
JDBC
:java Data Base Connectivity ,java数据库连接,它是一种用于执行sql语句的...
赞
踩
article
MySQL
-
JDBC
_masql
jdbc
...
MySQL
-
JDBC
JDBC
概念和快速入门案例
JDBC
的概念 通过Java代码操作数据库(增,删,改,查)快速入门操作步...
赞
踩
article
Mysql
+
JDBC
_基于
mysql
+
jdbc
...
基于SQL的数据库管理系统:
mysql
,sql-server,oracle等数据库管理系统,存储的数据规整,以表格(行...
赞
踩
article
MySQl
JDBC
...
JDBC
(重点)数据库驱动我们的程序会通过数据库驱动和数据库打交道
JDBC
Java数据库连接,(Java Databas...
赞
踩
article
【
MySQL
】
库
的
基础
操作
...
本文简单说明了数据
库
的
增删查改基本SQL语句及其选项。数据
库
编码集和校验集要一一对应,不同
的
编码集对一些特定
的
文字或符号...
赞
踩
article
Vanna
使用o
llama
分析本地MySQL
数据库
_
llama
mysql
...
此时已经可以连接到大模型,并访问
数据库
了,但是大模型并不知道数据结构,所以要对vanna进行简单的训练,官方的训练分为三...
赞
踩
article
深入
OceanBase
分布式数据库:
My
SQL
模式下的
SQL
基本操作_
oceanbase
my...
这种高度的兼容性使得企业在不改变原有业务逻辑的情况下,能够轻松地将数据和应用从
My
SQL
迁移到
OceanBase
,从而享...
赞
踩
article
MySQL
(
十一
)
用户
管理...
MySQL
中的
用户
,都存储在系统数据库mysql的user表中user是个表结构。
MySQL
(
十一
)
用户
管理 ...
赞
踩
article
MySQL
存储
过程...
存储
过程(Stored Procedure)是一种在数据库中
存储
复杂程序,以便外部程序调用的一种数据库对象。
存储
过程是为...
赞
踩
article
MySQL:
将
空
字
符串
改为
NULL
_
mysql
将
某些
数据
的某个
字
段更新为null...
在关系性
数据
库中Oracle,MySQL,MssSQL中,空
字
符串
('')和
NULL
是两个概念空
字
符串
顾名思义代表是一个...
赞
踩
相关标签
java
mysql
mybatis
sql
后端
学习
vue.js
数据库
jdbc
MySQL
JDBC
database