美文网首页我爱编程
数据库小知识

数据库小知识

作者: 憩在河岸上的鱼丶 | 来源:发表于2018-03-22 23:46 被阅读0次
  1. oracle 数据库查询, 字符串不能用双引号
    条件中的数字age="1"和age=1均有效, 与字段类型无关


    image.png
    image.png

以上均可以查到数据

  1. dbcp线程池的DelegatingPrePareStatement设置的问号参数保存在_stmt --> _stmt --> Preparestatement --> parameterString中

  2. mysql中保存boolean值用tinyint类型, mysql没有boolean类型, jdbc设置时用PreparedStatement setBoolean(int parameterIndex, boolean x) , Insert语句中设置true不能带单引号:

-- mysql会自动将true转为1
Insert into table_name(id,myTinyInt) values(1,true);
  1. 查询不同数据库所有保留关键字
    1). oracle
select * from v$reserved_words order by keyword asc;
查询结果

2). mysql查找关键字目前只知道官网手册可以查询.

JDBC只提供了部分关键字的获取办法:

DatabaseMetaData.getSQLKeywords() 

获取此数据库的还“不”是 SQL:2003 关键字的所有 SQL 关键字的逗号分隔列表。
https://en.wikipedia.org/wiki/SQL:2003

  1. sql关键字为字段名时, sql语句中使用到时可以使用双引号" "括起来, 可以防止报错, 双引号支持oracle和mysql, 反引号只支持mysql
  2. mysql的binary数据类型的长度单位是byte,设置长度为1,执行sql
    ···sql
    insert into tablename values(b'1000001');
    ···
    会看到显示为 A , 其中b'1000001'是二进制的65,对应的ascii字符为A
  3. MySQL有四种BLOB类型:
      ·tinyblob:仅255个字符
      ·blob:最大限制到65K字节
      ·mediumblob:限制到16M字节
      ·longblob:可达4GB
  4. Oracle中Clob与Blob类型:
    Clob(Character Large Object):数据库中的一种保存文件所使用的类型。 可以用来保存大文本,xml等
    Blob(Binary Large Object):二进制大对象,是一个可以存储二进制文件的容器。可以保存图片,文件,音频等
  5. 表中设置更新时间字段,类型timestamp,默认值 '1980-01-01 00:00:00',每次更新纪录时update_time字段修改为当前时间CURRENT_TIMESTAMP ,字段备注为'最近一次更新时间'。这样做省去了每次更新数据都需要在代码中添加修改时间戳的麻烦
update_time timestamp NULL DEFAULT '1980-01-01 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '最近一次更新时间'
  1. MySQL批量插入
INSERT INTO student VALUES('1','mwq','18'),('2','shh','19'),('3','wdl','20')
  1. mybatis中mapper文件一般默认的两个SQL
selectAll() 
selectByLimit(Object obj)
  1. 类似用户表一般都有created_by create_time last_updated_by last_update_time is_deleted五个字段
  2. mybatis查询方法,若方法返回值是List<Object>,查询结果为0时,返回空List;若方法返回值是Object,查询结果为0时,返回null
  3. 设置数据库自增ID
CREATE TABLE `user`(
    id BIGINT(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    username varchar(255) NOT NULL COMMENT'用户名',
    ....
    PRIMARK KEY(id),
    UNIQUE KEY `uniq_user_username` (username)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf-8 COMMENT='用户表';

可以使用SQL查询最近生成的一个自增ID

SELECT LAST_INSERT_ID()
  1. 查询MySQL数据库编码
> show variables like 'char%';

查询结果如下

Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir E:\Program Files (x86)\MySQL\MySQL Server 5.7\share\charsets\

查看这几种编码的区别

相关文章

  • 数据库小知识

    oracle 数据库查询, 字符串不能用双引号条件中的数字age="1"和age=1均有效, 与字段类型无关ima...

  • 数据库小知识

    在计算机中磁盘存储数据最小单元是扇区,一个扇区的大小是512字节,而文件系统(例如XFS/EXT4)他的最小单元是...

  • 数据库事务(二)

    数据库事务那些事 这期接着来说数据库事务的小知识,因为MVCC的本身需要很多基础作为基础,准备分享几期基础知识后,...

  • 数据库设计小知识

    1、树形分类表如何快速定位最高父级:用一个字段按顺序专门保存所有父级ID,并用分隔符分开。 2、查询的内容关联表太...

  • 数据库的小知识

    1,数据库分类 数据库主要分为关系型数据库和非关系型数据库,此外还有层次式和网络式的,关系型数据库主要有Postg...

  • Mysql_1 数据库基础

    目录:数据库基本知识数据库管理系统 一、数据库基本知识 数据库系统由数据库、数据库管理系统、应用系统和数据库管理员...

  • 数据库基础和SQL基础总结

    本文会总结下数据库知识,SQL基础,常用SQL语句总结; 一、数据库基础相关概念 二、数据库重点知识点 三、数据库...

  • Android小知识-数据库优化

    在数据量大的情况下,execSql省去了拼接sql语句的步骤,要比SqliteDatabase提供的insert、...

  • 【练手项目】学习培训应用——数据库篇

    数据库表 这里只简单介绍数据库表结构,详情参见数据库文件 数据库中未建立索引,后期有需要的时候再建 知识相关 知识...

  • Python Web 全栈开发

    需要学习的知识:python知识、操作系统知识、前端知识、数据库知识、网络知识、程序设计

网友评论

    本文标题:数据库小知识

    本文链接:https://www.haomeiwen.com/subject/abttcftx.html