当前位置:网站首页>MySQL增删改查基础
MySQL增删改查基础
2022-08-04 22:58:00 【最后一只三脚兽】
数值类型
| 数据类型 | 大小 | 说明 | 对应java类型 |
|---|---|---|---|
| BIT[ (M) ] | M指定位数,默认为1 | 二进制数,M范围从1到64,存储数值范围从0到2^M-1 | 常用Boolean对应BIT,此时 默认是1位,即只能存0和1 |
| TINYINT | 1字节 | Byte | |
| SMALLINT | 2字节 | Short | |
| INT | 4字节 | Integer | |
| BIGINT | 8字节 | Long | |
| FLOAT(M, D) | 4字节 | 单精度,M指定长度,D指定小数位数。会发生精度丢失 | Float |
| DOUBLE(M, D) | 8字节 | Double | |
| DECIMAL(M, D) | M/D最大 值+2 | 双精度,M指定长度,D表示小数点位数。精确数值 | BigDecimal |
| NUMERIC(M, D) | M/D最大 值+2 | 和DECIMAL一样 | BigDecimal |
DOUBLE之类的浮点数使用的都是IEEE标准,因此计算会有误差,python,c++等都是用的IEEE标准
DECIMAL也是表示小数,但用的是类似字符串的变长存储,误差较小,但是效率降低并且需要更多的存储空间
数值类型可以指定为无符号(unsigned),表示不取负数。
但是不推荐使用!
字符串类型
| 数据类型 | 大小 | 说明 | 对应java类型 |
|---|---|---|---|
| VARCHAR (SIZE) | 0-65,535字节 | 可变长度字符串 | String |
| TEXT | 0-65,535字节 | 长文本数据 | String |
| MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 | String |
| BLOB | 0-65,535字节 | 二进制形式的长文本数据 | byte[] |
日期类型
| 数据类型 | 大 小 | 说明 | 对应java类型 |
|---|---|---|---|
| DATETIME | 8 字 节 | 范围从1000到9999年,不会进行时区的 检索及转换。 | java.util.Date、 java.sql.Timestamp |
| TIMESTAMP | 4 字 节 | 范围从1970到2038年,自动检索当前时 区并进行转换。 | java.util.Date、 java.sql.Timestamp |
![[(img-P3FUnIuQ-1659573999693)(C:\Users\yang\AppData\Roaming\Typora\typora-user-images\image-20220802151045515.png)]](/img/39/244536e288d77c1fe75176db7e7d51.png)
创建表
create table 表名(列名 类型.类名 类型...);
-- 注意sql中名字在前,变量名在后,与java不同
在类型后可以加上 comment 'XXX’注释,但该注释只能在列中使用,一般用–+空格注释

show tables;-- 查看当前数据库中有哪些表
desc 表名;-- 查看指定的表结构
drop table 表名;-- 删除表

表内的增删改查
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hPDJOS2t-1659573999695)(C:\Users\yang\AppData\Roaming\Typora\typora-user-images\image-20220730162658701.png)]](/img/80/5a4b7ae26fb114e132816c9b17775d.png)
增加数据
insert into 表名 values(值,值...)-- 值必须和表内类型一一对应
insert into 表名 (列名) values(值)-- 指定列插入
insert into 表名 values(值,值...),(值,值...)...-- 插入多组数据,一次插入多条比分开操作效率高

show variables like '%char%';-- 显示使用的字符集
-- 在创建数据库时增加character set utf8即可更改数据库的字符集
彻底更改字符集方法;
- 在 服务 中找到mysql的配置文件
- 找到配置文件后在 [mysql] 下加上default-character-set=utf8
- 在[mysqld]下加上character-set-server=utf8
- 重启服务器注意,服务器需要在 服务 中重启,不能只重启客户端
- 注意,这次操作只会对后面创建的库起作用
查询数据
select * from 表名;-- 查询表中所有数据
select * 是一个比较危险的操作

select 列名,列名... from 表名;-- 查询表中指定列数据
select 表达式 from 表名;-- 查询指定列运算后的结果
-- 注意 查询时SQL会使用最适合的类型来确保结果的有效性,因此不用害怕如DECIMAL有效数字超过的问题
select 表达式 as 别名 from 表名;-- 查询指定列运算后的结果并起别名
select distinct 列名 from 表名;-- 查询指定列去重后输出结果
select 列名 from 表名 order by 列名;-- 查询指定列排序输出
select 列名 from 表名 order by 列名 desc;-- 查询指定列排序降序输出
select 列名 from 表名 order by 列名,列名... desc;-- 多个列进行排序,前面的优先级高
条件查询
条件运算符
| 运算符 | 说明 |
|---|---|
| >, >=, <, <= | 大于,大于等于,小于,小于等于 |
| = | 等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL |
| <=> | 等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1) |
| !=, <> | 不等于 |
| BETWEEN a0 AND a1 | 范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1) |
| IN (option, …) | 如果是 option 中的任意一个,返回 TRUE(1) |
| IS NULL | 是 NULL |
| IS NOT NULL | 不是 NULL |
| LIKE | 模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字 符 |
null与其他值进行算数运算结果仍旧为null
逻辑运算符
| 运算符 | 说明 |
|---|---|
| AND | 多个条件必须都为 TRUE(1),结果才是 TRUE(1) |
| OR | 任意一个条件为 TRUE(1), 结果为 TRUE(1) |
| NOT | 条件为 TRUE(1),结果为 FALSE(0) |
注意where先于select执行
分页查询
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n;
-- 从 s 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n;
-- 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s;
修改数据
update 表名 set 列名 = 修改的值,列名 = 修改的值... where 条件;
删除数据
delete from 表名 where 条件;
边栏推荐
- [Cultivation of internal skills of string functions] strlen + strstr + strtok + strerror (3)
- PID控制器改进笔记之七:改进PID控制器之防超调设定
- One trick to cure pycharm DEBUG error UnicodeDecodeError: 'utf-8' codec can't decode
- BUG | 接口返回异常数据
- How to make a video gif?Try this video making gif artifact
- 生成回文数
- 线上虚拟展馆展示具有哪些优势
- 质量管理大师爱德华·戴明博士经典的质量管理14条原则
- 今天又做了三个梦,其中一个梦梦里的我还有意识会思考?
- 如何根据地址获取函数名
猜你喜欢

【3D建模制作技巧分享】ZBrush如何设置笔刷快捷键

【2020】【论文笔记】超表面:多功能和可编程——

go语言的日志实现(打印日志、日志写入文件、日志切割)

【3D建模制作技巧分享】ZBrush如何使用Z球
![[Cultivation of internal skills of string functions] strlen + strstr + strtok + strerror (3)](/img/96/946bbef52bd017ac6142c6b7485a86.png)
[Cultivation of internal skills of string functions] strlen + strstr + strtok + strerror (3)

使用cpolar优化树莓派上的网页(1)

历史上的今天:PHP公开发布;iPhone 4 问世;万维网之父诞生

【游戏建模模型制作全流程】使用ZBrush制作骷髅王

Will we still need browsers in the future?(feat. Maple words Maple language)

2022七夕程序员必备的表白黑科技(七夕限定款)
随机推荐
赶紧进来!!!教你C语言实现扫雷小游戏(文章最后有源码!!!)
2022七夕程序员必备的表白黑科技(七夕限定款)
Service Mesh落地路径
Reconfigure the ffmpeg plugin in chrome
Latex fast insert author ORCID
【项目实战】仿照Room实现简单管理系统
Linear DP (bottom)
直接插入排序
TypeScript - the use of closure functions
被领导拒绝涨薪申请,跳槽后怒涨9.5K,这是我的心路历程
论文解读(PPNP)《Predict then Propagate: Graph Neural Networks meet Personalized PageRank》
[Mock Interview - 10 Years of Work] Are more projects an advantage?
【游戏建模模型制作全流程】在ZBrush中雕刻恶魔城男性角色模型
【3D建模制作技巧分享】ZBrush纹理贴图怎么导入
synchronized和ReentrantLock都很丝滑,因为他们都是可重入锁,一个线程多次拿锁也不会死锁,我们需要可重入
enumerate()函数
今天又做了三个梦,其中一个梦梦里的我还有意识会思考?
App测试和Web测试的区别
一点点读懂cpufreq(一)
SRv6网络的安全解决方案