-
oracle 数据库查询, 字符串不能用双引号
条件中的数字age="1"和age=1均有效, 与字段类型无关
image.png
image.png
以上均可以查到数据
dbcp线程池的DelegatingPrePareStatement设置的问号参数保存在_stmt --> _stmt --> Preparestatement --> parameterString中
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). 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
- sql关键字为字段名时, sql语句中使用到时可以使用双引号" "括起来, 可以防止报错, 双引号支持oracle和mysql, 反引号
只支持mysql
- mysql的binary数据类型的长度单位是byte,设置长度为1,执行sql
···sql
insert into tablename values(b'1000001');
···
会看到显示为 A , 其中b'1000001'是二进制的65,对应的ascii字符为A - MySQL有四种BLOB类型:
·tinyblob:仅255个字符
·blob:最大限制到65K字节
·mediumblob:限制到16M字节
·longblob:可达4GB - Oracle中Clob与Blob类型:
Clob(Character Large Object):数据库中的一种保存文件所使用的类型。 可以用来保存大文本,xml等
Blob(Binary Large Object):二进制大对象,是一个可以存储二进制文件的容器。可以保存图片,文件,音频等 - 表中设置更新时间字段,类型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 '最近一次更新时间'
- MySQL批量插入
INSERT INTO student VALUES('1','mwq','18'),('2','shh','19'),('3','wdl','20')
- mybatis中mapper文件一般默认的两个SQL
selectAll()
selectByLimit(Object obj)
- 类似用户表一般都有created_by create_time last_updated_by last_update_time is_deleted五个字段
- mybatis查询方法,若方法返回值是List<Object>,查询结果为0时,返回空List;若方法返回值是Object,查询结果为0时,返回null
- 设置数据库自增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()
- 查询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\ |
查看这几种编码的区别