
数据库
数据库的操作,sql查询方法总结,常用sql
了迹奇有没
刺客排行榜952712138,兼纸后端开发
展开
-
为什么mysql的delete操作不释放磁盘空间
在InnoDB中,delete操作并不会真的删除数据,mysql实际上只是给要删除的数据打了标记,标记为删除。磁盘所占空间不会变小,即表空间并没有真正被释放。转载 2023-02-02 11:05:51 · 2578 阅读 · 0 评论 -
一道有趣的sql题,统计复旦用户8月练题情况
这是一道非常有趣的sql题,第一部分是题的描述,第二部分是题解决。不妨看完题目先思考一下,或者实际运行一下。也可直接从题解看起,题解并非直述答案,而是从每一个sql知识点由浅入深,深入浅出。在牛客上这是为数不多的“困难”sql题之一,相信你会有所收获。原创 2022-04-29 17:44:35 · 1655 阅读 · 0 评论 -
mysql 快捷查询数据库各表占用空间,mysql查看索引占用空间,mysql查看数据占用空间
mysql查询数据库各表占用空间,数据占用空间,索引占用空间,拿来即用。分项详细列出数据库各表占用空间各项数据。原创 2022-02-26 11:28:34 · 3830 阅读 · 0 评论 -
mysql并发更新数据,多用户并发修改数据解决方案。
mysql并发更新数据,多用户并发修改数据解决方案。在系统中,有一些如余额、资产、积分的数据,是要保证数据一致性的。如,一个人使用两个设备同时进行消费操作,如何保证数据一致性的问题。我们一起来思考一下,我们的服务是分布式多节点部署,消耗方式多样(不止一处代码会对数据进行操作)。这时候,如何保证呢?首先,我们需要确定我们使用的数据存储方式。redis? mysql? mongo…在redis中,数据操作为单线程,所以是可以最好避免数据不一致的问题。但如果是简单的数据覆盖,则无法利用这一优势。包原创 2022-01-12 14:40:12 · 7374 阅读 · 0 评论 -
mysql建立联合索引,mysql建立唯一键,mysql如何解决重复记录联合索引
在项目中,常常要用到联合唯一 在一些配置表中,一些列的组合成为一条记录。 比如,在游戏中,游戏的分区和用户id会形成一条记录。(比如,一个qq用户可以在艾欧尼亚、德玛西亚创建两个账号)原创 2022-01-04 10:49:59 · 4102 阅读 · 3 评论 -
mysql查询字段大小写结果相同,mysql大小写查询不敏感,mysql5.7查询不区分大小写解决方案。
下面有两条sql,主键查询,在mysql中查询到的结果相同。SELECT * FROMUSER WHERE id = 'EM58hdK4nXC'; SELECT * FROMUSER WHERE id = 'em58hdk4nxc';这种情况就是mysql查询大小写结果相同,因为大小写查询不敏感。解决方法:工具中:在navicat中,将字段由varchar改为varbinary,将字段标记为binary,二进制大小写是敏感的。或使用sql:ALTER TABLE原创 2021-11-16 18:40:29 · 1409 阅读 · 0 评论 -
数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法
数据库中自定义排序场景:有一张banner表,表中有一个status字段,有0, 1, 2三个状态位,我想要 1,0,2的自定义排序(这里是重点),然后再进行之上对sequence字段进行二次排序(这里看个人需求)。普通的sql只能对一个字段进行简单的大小排序,如下:SELECT * FROM banner ORDER BY `status`, sequence ASC;这里我们对banner这张表中的status字段先进行排序,然后对排序后的子集再对sequence字段进行排序。但原创 2021-10-09 11:02:11 · 714 阅读 · 0 评论 -
创建数据库,指定数据库的字符集和编码顺序
创建数据库,指定它的字符集和编码顺序create database {数据库名称} CHARACTER SET {字符集} COLLATE {排序规则}举例:create database collage CHARACTER SET utf8mb4 COLLATE utf8_general_ci原创 2021-07-07 10:42:17 · 820 阅读 · 0 评论 -
ECS(Linux)连接RDS,使用命令行方式连接实例
使用命令行方式连接实例通过命令行连接RDS MySQL数据库,连接方式如下:mysql -h<连接地址> -P<端口> -u<用户名> -p -D<数据库名称># 假设 用户=testuser 密码=123 数据库连接为 rm-bp1457xxxxxx.mysql.rds.aliyuncs.commysql -hrm-bp1457xxxxxx.mysql.rds.aliyuncs.com -P3306 -utestuser -p123```原创 2021-07-05 12:03:39 · 1368 阅读 · 0 评论 -
oracle 提示:ORA-02292:integrity constraint(xxxxxxx) violated - child record found
当我们删除 数据的时候 oracle 提示:ORA-02292:integrity constraint(xxxxxxx) violated - child record found这种情况呢是因为外键关联的存在,需删除另一个表的信息后才能将该信息删除。这种情况首先应该去寻找是否有表与当前表存在关联,若能找到最好按顺序进行删除。若无法找到,可以采用以下的方法强制删除,但以下方法会影响数据在表中的结构,也许会形成垃圾数据(谨慎使用)。第一步:让主键失效:alter table table_name原创 2021-02-02 15:54:20 · 5030 阅读 · 1 评论 -
sql特殊字符转义,oracle中将字符 ‘ 转义
oracle中使用sql语句或多或少地会遇到使用特殊字符,比如" ’ ",这时,这个单引号就会与前面的单引号匹配,将文本从中间断开,引发问题和错误。这就需要我们进行转义。而oracle中并不像C java这些编程语言那样使用" \ " 进行转义,而是使用" ’ "——单引号进行转义的。例:insert into user (name,ename) values ('小王','Del''Json');这里,小王的英文名字为Del’Json 如果照着输入,则会报错,只有使用’'进行转义才能达原创 2020-12-28 17:42:42 · 2278 阅读 · 1 评论 -
MybatisPlus忽略实体类中的非数据库字段、JPA忽略实体类中的非数据库字段、HeHibernate忽略实体类中的非数据库字段
mybatis plus忽略映射字段时可以在实体类属性上使用以下注解:@TableField(exist = false):表示该属性不为数据库表字段,但又是必须使用的。@TableField(exist = true):表示该属性为数据库表字段。在实体类的属性上面加上这个注解后,此字段就不会映射数据库了。@TableField(exist = false) private Position position;Spring data jpa 或 Hibernate中????//数原创 2020-10-13 17:50:34 · 2471 阅读 · 0 评论 -
Oracle根据日期区间查询Date类型的数据
在Oracle数据库中,根据日期区间查询Date类型的数据select proposalno,policyno,enddatefrom 表名 where 时间字段 between to_date('2020-1-1', 'yyyy/mm/dd') and to_date('2021/8/1','yyyy-mm-dd')原创 2020-09-11 10:36:44 · 2293 阅读 · 0 评论 -
使用JPA进行Update操作 @Query注解的用法,JPL
使用jpa进行update操作有两种,第一种就是先查询,set,再进行save更新。这种做法过于繁杂,我只是要进行一个更新操作却变成了三步,所以我推荐使用第二种:@Modifying@Query(value = "update Puser p set p.CC=?3 where p.AA=?1 and p.BB=?2",nativeQuery = true)void update(String AAA, String BBB, String CCC);注意:nativeQuery=true是必须原创 2020-07-23 11:17:04 · 2962 阅读 · 0 评论