磨砺技术珠矶,践行数据之道,追求卓越价值
回到上一级页面:PostgreSQL基础知识与基本操作索引页    回到顶级页面:PostgreSQL索引页[作者 高健@博客园  luckyjackgao@gmail.com]

实验过程如下、建表:

建立带引号的表名:

postgres=# create table "GaoUser"(name varchar(10),age integer);
CREATE TABLE
postgres=# select * from GaoUser;
ERROR: relation "gaouser" does not exist
LINE 1: select * from GaoUser;
^
postgres=# select * from gaouser;
ERROR: relation "gaouser" does not exist
LINE 1: select * from gaouser;
^
postgres=# select * from "GaoUser";
name | age
------+-----
(0 rows)

上述的过程表明,带引号的表和不带引号的表,不是一回事。

再进一步实验:

postgres=# create table GaoUser(name varchar(10),age integer);
CREATE TABLE
postgres=# postgres=# create table gaouser(name varchar(10),age integer);
ERROR: relation "gaouser" already exists
postgres=# postgres=# create table GAOUSER(name varchar(10),age integer);
ERROR: relation "gaouser" already exists
postgres=# postgres=# select * from GaoUser;
name | age
------+-----
(0 rows) postgres=# select * from gaouser;
name | age
------+-----
(0 rows) postgres=#

这说明,不带引号的表名,无论大写还是小写,都是一回事。

进一步的实验,可以验证此看法。

postgres=# insert into GaoUser values('user001',25);
INSERT 0 1
postgres=# insert into "GaoUser" values('user002',40);
INSERT 0 1
postgres=# select * from GaoUser;
name | age
---------+-----
user001 | 25
(1 row) postgres=# select * from gaouser;
name | age
---------+-----
user001 | 25
(1 row) postgres=# postgres=# select * from "GaoUser";
name | age
---------+-----
user002 | 40
(1 row)
postgres=# insert into GaoUser values('User003',27);
INSERT 0 1
postgres=# select * from GaoUser;
name | age
---------+-----
user001 | 25
User003 | 27
(2 rows) postgres=# insert into "GaoUser" values('User004',42);
INSERT 0 1
postgres=# select * from "GaoUser";
name | age
---------+-----
user002 | 40
User004 | 42
(2 rows) postgres=#

[作者 高健@博客园  luckyjackgao@gmail.com]
回到上一级页面:PostgreSQL基础知识与基本操作索引页    回到顶级页面:PostgreSQL索引页磨砺技术珠矶,践行数据之道,追求卓越价值

PostgreSQL数据库表名的大小写实验的更多相关文章

  1. Thinkphp5——数据库表名的大小写问题

    ThinkPHP5中数据库的表名如果是驼峰命名法,会被转换成小写加下划线,解决方法如下: 1.表名全部小写,因为数据库的表名区分大小写的. 2.使用Db::table("表名"), ...

  2. Spring Boot + JPA(hibernate 5) 开发时,数据库表名大小写问题

      (转载)Spring Boot + JPA(hibernate 5) 开发时,数据库表名大小写问题   这几天在用spring boot开发项目, 在开发的过程中遇到一个问题hibernate在执 ...

  3. (转)mysql数据库表名批量修改大小写

    由于不用服务器对mysql的表名的大小写敏感要求不一致,经常在出现线上的数据库down到了本地不能运行的情况,贴出一段代码用来批量修改数据库表名大小写. DELIMITER // DROP PROCE ...

  4. mysql linux下表名忽略大小写注意事项

    在Unix中使用lower_case_tables_name=0,在Windows中使用lower_case_tables_name=2.这样了可以保留数据库名和表名的大小写.不利之处是必须确保在Wi ...

  5. SQL查询数据库信息, 数据库表名, 数据库表信息

    SQL查询数据库信息, 数据库表名, 数据库表信息 ---------------------------------------------- -- 以下例子, 在sql_server 中可以直接运 ...

  6. EF 控制code-first生成的数据库表名的单复数

    原地址:https://blog.csdn.net/winnyrain/article/details/51248410 在Code-First中,默认生成的数据库表的名称为类型的复数形式,如Mode ...

  7. myssql数据库表名转驼峰 - PLAY - ITeye博客

    原文:myssql数据库表名转驼峰 - PLAY - ITeye博客

  8. MySQL中将数据库表名修改成大写的存储过程

    原文:MySQL中将数据库表名修改成大写的存储过程 MySQL中将数据库表名修改成大写的存储过程 创建存储过程的代码: DROP PROCEDURE IF EXISTS uppercaseTablen ...

  9. Linux下MySQL报Table 'xxx' doesn't exist错误解决方法,表名存在大小写区分

    Linux服务器上在线装了个MySQL,但是部署web应用时一直报后台一直报错:Table 'xxx' doesn't exist. 本地测试一直都是正常的,同样的代码,同样的数据库,表是存在的,但是 ...

随机推荐

  1. ExpressRoute 线路预配工作流和线路状态

    本页从较高层面引导你完成服务预配和路由配置工作流. 下图和相应的步骤说明了预配端到端 ExpressRoute 线路所要执行的任务. 使用 PowerShell 配置 ExpressRoute 线路. ...

  2. Linux 加载卷组

    root 用户下执行: vgchange -ay vgdatamount /u01 vgdisplay 查看卷组

  3. 记开发个人图书收藏清单小程序开发(七)DB设计

    前面的书房初始化的前端信息已经完善,所以现在开始实现DB的Script部分. 新增Action:Shelf_Init.sql svc.sql CREATE SCHEMA [svc] AUTHORIZA ...

  4. [翻译] FeSpinner

    FeSpinner The loader collection for iOS app. 收集的iOS加载动画. REQUIREMENT FeSpinner work on any version i ...

  5. windows 查看端口号,杀进程

    查看端口号: 开始--运行--cmd netstat –and 杀进程: windows任务管理器         查看--显示列-PID 相关知识: 一台机器的80端口被httpd (apache) ...

  6. Shell中, 退出整个脚本

    常规做法 cat >test.sh<<EOF'' #!/bin/bash exit_script(){ exit 1 } echo "before exit" e ...

  7. UserUI程序实现过程简述

    1.__tmainCRTStartup 2. mainret = _tWinMain( (HINSTANCE)&__ImageBase, NULL, lpszCommandLine, Star ...

  8. python第十四课--排序及自定义函数之自定义函数(案例五)

    演示函数的定义和使用细节: 默认参数:#在设计自定义函数的时候,就存在一个默认值,就算在调用的时候不显示的传入实参,也不会报错.#会用默认值来代替参与后期的运算 def m1(name='张三',ag ...

  9. 4-4 R语言函数 tapply

    #对向量的子集进行操作 #tapply(参数):tapply(向量,因子/因子列表,函数/函数名) > x <- c(rnorm(5),runif(5),rnorm(5,1)) > ...

  10. ES6新特性1:let和const

    本文摘自ECMAScript6入门,转载请注明出处. 一.let 1. ES6增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. { let a ...