lealone / Lealone

比 MySQL 和 MongoDB 快10倍的 OLTP 关系数据库和文档数据库
Other
2.44k stars 513 forks source link

大小写不敏感如何配置, 如何让数据库字段和表名都显示为小写 #173

Closed zhoujin7 closed 1 year ago

zhoujin7 commented 1 year ago

这是h2的配置方式 jdbc:h2:file:C:\h2;DATABASE_TO_LOWER=TRUE;CASE_INSENSITIVE_IDENTIFIERS=TRUE;IGNORECASE=TRUE

用datagrip连接lealone后提示: DBMS: Lealone (ver. 5.1.2 (2023-03-14)) Case sensitivity: plain=upper, delimited=exact Driver: Lealone JDBC Driver (ver. 5.1.2 (2023-03-14), JDBC4.0)

创建了一个USER表

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='user' //查不到数据

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='USER' //可以查到

codefollower commented 1 year ago
  1. 创建数据库时指定 create database mydb parameters(database_to_upper=false);
  2. 或者用 set database_to_upper false;
  3. 或者在 url 中加上 database_to_upper=false。
codefollower commented 1 year ago

显示表结构用语句: show columns from user;

zhoujin7 commented 1 year ago

https://github.com/lealone/Lealone/issues/80#issuecomment-295740012

https://github.com/lealone/Lealone/issues/165#issuecomment-1291504472

做个笔记:

用 create database 创建的数据库都相当于一个 mysql 实例,这个一定要搞清楚,不能拿 mysql 的习惯来套, lealone 的 database 和 schema 是不同的。

use xxx 时,xxx 是 schema 不是 database。

Lealone跟MySQL不一样 在MySQL里,database和schema是同一个东西,而Lealone不是

所以show databases和show schemas会得到不同的结果 use命令只能用来切换当前数据库下的某个schema。

每个RDBMS的数据库对象模型都会有差异的, Lealone的数据库对象模型跟H2和PostgreSQL类似。