Oracle数据库中自带的4张表: dept、emp、bonus和salgrade是练习SQL查询的经典案例表,本文提供在MySQL中建这4张表的SQL语句 1....创建dept表 CREATE TABLE `dept`( `deptno` INT(2) NOT NULL, `dname` VARCHAR(14), `loc` VARCHAR...创建emp表 CREATE TABLE `emp` ( `empno` int(4) NOT NULL PRIMARY KEY, `ename` VARCHAR(10), `...创建bonus表 CREATE TABLE `bonus`( `ename` VARCHAR(10), `job` VARCHAR(9), `sal` INT, `comm...创建salgrade表 CREATE TABLE `salgrade` ( `grade` int, `losal` int, `hisal` int ) ENGINE
因此,数据库和表名的区分大小写取决于操作系统的大小写。这意味着数据库和表名在Windows上不区分大小写,但在大多数UNIX变体上都区分大小写。...但是,MySQL使用系统变量lower_case_table_names来确定数据库和表名如何存储在磁盘。 Oracle和MySQL允许将保留字加上引号用作对象名。...但是,在MySQL中,一些保留字(例如DATE和TIMESTAMP)可以不使用引号。在Oracle中不允许这样做。 MySQL和Oracle之间的标识符定义之间有一些细微的差异。...在MySQL中,未加引号的标识符可以以数字开头,并且带引号的标识符可以使用双引号。但是,Oracle标识符均不允许。MySQL的引号字符是反引号(`)。...Oracle在将数据插入表中时,必须为所有NOT NULL的列指定数据。Oracle不会为具有NOT NULL约束的列生成默认值。
♣ 题目部分 在Oracle中,如何列举某个用户下所有表的注释及列的注释?...♣ 答案部分 可以使用DBA_TAB_COMMENTS视图来查询表的注释,使用DBA_COL_COMMENTS视图来查询列的注释。...它们的示例分别如下所示: 某个用户下所有表的注释: SELECT D.OWNER, D.TABLE_NAME, D.COMMENTS FROM DBA_TAB_COMMENTS D WHERE D.OWNER...某个用户下某个表的所有列的注释: SELECT D.OWNER, D.TABLE_NAME,D.COLUMN_NAME, D.COMMENTS FROM DBA_COL_COMMENTS D WHERE...& 说明: 有关Oracle数据字典的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2153324/ 本文选自《Oracle程序员面试笔试宝典
6.4:查询scott用户下的所有对象,使用tab表,tab表是每个用户都有的一张表; ? 6.5:查看表结构desc 表名; ? ...7:Oracle查询的用法, 7.1:查询emp表的所有的内容,*号表示通配符,表示该表中的所有的字段,但是*号不能和具体的字段一起使用; ?...7.2:使用别名进行查询,字段名 "别名";AS大小写皆可也可省略,别名使用引号引起来,如果不加引号别名中间不能存在空格;不加双引号的别名不能有空格,加了双引号的别名可以有空格,要加只能加双引号,不能加单引号...,因为在oracle中单引号表示字符串类型或者是日期类型的哦。 ...命令 (b)SQLPLUS工具的命令中的关健字可以简写,也可以不简写,例如:col ename for a10; (c)大小写不敏感,提倡大写 (d)不能够对表数据进行增删改查操作
我们说在一般情况下,Oracle对表名、字段名的大小写是不敏感的,换句话说,即使在SQL中用的小写表名、字段名,Oracle都会自动将他们转成大写,再存储到数据字典中,检索的时候,即使你用的小写,Oracle...,才会找到这张表, SQL> select * from "testb"; no rows selected 为了进行比对,我们再创建一张不带引号的“大写”表名和“小写”表名, SQL> create...中支持通过引号实现表名、字段名的大小写敏感,但是不推荐,毕竟每次使用都要带着引号,使用起来麻烦,而且很容易混淆,例如有些厂商写的配置表名和字段都用的小写,导致程序中一旦没用引号括起来的小写名,就会提示ORA...-00942的错误,当然,凡事两面看,使用引号大小写敏感的,某些情况下可以保护数据结构被篡改,例如一些重要的配置表,可以使用引号小写表名,一般人写SQL不会找到他。...不同的数据库,对待大小写敏感可能是不同的,以上的情况只是针对Oracle,但是从这个小小的功能,就可以看出数据库软件对待一些问题的处理上,存在不同的角度,另外会留出一些后门,避免特殊情况,这是在应用软件设计中
catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } executeUpdate创建...DB并使用他的前两个 方法工作正常。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如果你稍加不注意就会出现在本机开发的程序运行一切正常,发布到服务器行就出现表名找不到的问题。这是我们前一个项目遇到的巨大问题,开发是在 Windows 下进行,但是部署是在 Linux 下进行。...创建表的 SQL如果我们有一个创建表的 SQL:create table test.Table_name( id integer, user_name varchar);和create...如果我们想在数据库中创建一个 Table_name 可以吗?答案是可以的。需要把 Table_name 放在双引号里面。运行的 SQL 就成这样了。create table test."...在设计数据库表的时候,不要使用大小写混合模式,要么就全部约定为小写,要不就全部约定为大写。因为 PostgreSQL 会默认全部使用小写,所以在 PostgreSQL 的表面和字段名要全部为小写为好。...Oracle 数据库在这里是另类,在 Oracle 中全部按照大写存储的。https://www.isharkfly.com/t/postgresql/15350
相关的配置项都存储在SqlParser.Config这个结构中,常见的用法如下所示: SqlParser.Config config = SqlParser.config(); String sql...: SqlParser.Config config = SqlParser.config().withQuoting(Quoting.BACK_TICK) 此时,我们就可以针对列名、表名等,使用反引号包围起来...,通过SqlParser.Config的两个方法可以进行设置,如下所示: //针对使用了引用标识符包围的列、表名等,进行大小写转换 Config withQuotedCasing(Casing casing...); //针对没有引用标识符包围的列、表名等,进行大小写转换 Config withUnquotedCasing(Casing casing); 我们看如下所示的例子: SqlParser.Config...,构造了专门的模板,我们可以使用这些模板快速创建对应的config,如下所示: public enum Lex { BIG_QUERY(Quoting.BACK_TICK, Casing.UNCHANGED
回想起来,脚本在从Oracle移植到mysql的过程中,由最初的全大写(初次创建时)改成了后来的全小写,因而出现了这个问题。...缺省情况下,mysql的大小写敏感是这样的: 字段名、字段别名、索引名、存储过程名……,只要不涉及目录和文件,任何平台都不分大小写; Windows平台,数据库名、表名、表别名、触发器名等,也不分大小写...; Unix, Linux平台,数据库名、表名、表别名、触发器名等,就要区分大小写了; 日志文件组名,又是区分大小写的,这个一般情况下没多少人关注; 变量名严格区分大小写。...顺便说说其他数据库的情况: Oracle: 默认是大小写不敏感,表名、字段名等不区分大小写,小写字母会自动转换为大写字母,需要用小写字母时需要使用双引号。...PostgreSQL: 默认是大小写不敏感,表名、字段名等不区分大小写,大写字母会自动转换为小写字母(正好与Oracle相反), 需要用大写字母时需要使用双引号。
记录:表中的行 关系数据库必须以行为单位进行数据读写 ---- DDL:(数据定义语言):用来创建或者删除数据库或者表 CREATE:创建 DROP:删除 ALTER:...(KVS) 只保存查询所使用的主键和值的组合的数据库(也就是关联数组或散列) 书写规则 以;结尾 不区分关键字的大小写,但是字段区分大小写 字符串、日期、常数需要用单引号,数值不需要引号 ----..., ,……); 约束是除了数据类型之外,对列中存储的数据进行限制或者追加条件的功能 数据类型: 数据类型 描述 integer(size) int(size)...char(size) 容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。 在括号中规定字符串的长度。...删表 DROP TABLE ; 更新表 添加列 -- 添加一列 ALTER TABLE ADD ; -- 添加多列 ALTER TABLE ADD (,<列名
二维表是同类实体的各种属性的集合,每个实体对应于表中的一行,在关系中称为一条记录 表中的列表示属性,称为Field,相当于通常记录中的一个数据项,也叫列、字段。...一般存储大量的字符串,比如文章的纯文本,可以选用TEXT系列类型,这个系列都是变长的。 注意:在MySQL中,字符类型必须指定长度,值要使用单引号引起来。...比如新建一张订单表(order),但是order是数据库中的关键字(排序使用). 解决方案一:使用反引号`把自定义的标识符引起来....复合主键,使用多列充当主键,不建议。...1、改变列的标题头; 2、用于表示计算结果的含义; 3、作为列的别名; 4、如果别名中使用特殊字符,或者是强制大小写敏感,或有空格时,都需加双引号; 二、过滤查询 1.比较运算符 比较运算符
1,如果schema,catalog或tablename中有空格,那么设置的是什么格式,就精确的使用指定的大小写格式去查询; 2,否则,如果数据库的标识符使用大写的,那么MBG自动把表名变成大写再查找...; 3,否则,如果数据库的标识符使用小写的,那么MBG自动把表名变成小写再查找; 4,否则,使用指定的大小写格式查询; 另外的,如果在创建表的时候...,使用的""把数据库对象规定大小写,就算数据库标识符是使用的大写,在这种情况下也会使用给定的大小写来创建表名; 这个时候,请设置delimitIdentifiers="true"即可保留大小写格式...-- 该元素会在根据表中列名计算对象属性名之前先重命名列名,非常适合用于表中的列都有公用的前缀字符串的时候, 比如列名为:CUST_ID,CUST_NAME...-- 用来修改表中某个列的属性,MBG会使用修改后的列来生成domain的属性; column:要重新设置的列名; 注意,一个table元素中可以有多个columnOverride
1,如果schema,catalog或tablename中有空格,那么设置的是什么格式,就精确的使用指定的大小写格式去查询; 2,否则,如果数据库的标识符使用大写的,那么MBG自动把表名变成大写再查找...; 3,否则,如果数据库的标识符使用小写的,那么MBG自动把表名变成小写再查找; 4,否则,使用指定的大小写格式查询; 另外的,如果在创建表的时候...,使用的""把数据库对象规定大小写,就算数据库标识符是使用的大写,在这种情况下也会使用给定的大小写来创建表名; 这个时候,请设置delimitIdentifiers="true"即可保留大小写格式...-- 该元素会在根据表中列名计算对象属性名之前先重命名列名,非常适合用于表中的列都有公用的前缀字符串的时候, 比如列名为:CUST_ID,CUST_NAME...-- 用来修改表中某个列的属性,MBG会使用修改后的列来生成domain的属性; column:要重新设置的列名; 注意,一个table元素中可以有多个
SQLite 无硬性规定 由于以上数据库标识符限制长度最小的为 30 个字符,为了在不同数据库中保持一致的标识符长度, 建议在创建表和列时使用不超过 30 个字符的标识符命名,以确保在不同数据库中都能够正常使用...,使用双引号 "" 包裹标识符用于明确指定标识符的大小写,不加双引号的标识符被视为不区分大小写。...下面是在各个数据库中如何明确指定标识符(例如表名、列名等)的语法示例: 序号 数据库类型 明确指定标识符的语法 1. SQL Server 使用双引号 "" 或方括号 [] 包裹标识符 2....模糊查询 在 PostgreSQL 数据库中,使用 LIKE 关键字进行模糊查询是区分大小写的,而其他数据基本是不区分大小写的。...若需要 SQL 兼容多种数据库,为了使不同数据库中的查询效果一致,在 PostgreSQL 数据库中应该使用 ILIKE 关键字: -- PostgreSQL:LIKE 关键字区分大小写,ILIKE 关键字不区分大小写
从Oracle10g开始,sqlplus提供了一个参数选项-prelim,用这个参数,在系统已经hang的时候可以连接到SGA而不是数据库,也就是说没有session被创建。...端口,可以不写端口:如下: sqlplus bys/bys@192.168.1.211/bys3 如果不想在命令中输入密码,可以使用:或者为用监听名时: [oracle@bys3 dbs]$ sqlplus...list 注意:单引号和双引号内大小写敏感。...关键字不能缩写,也不能跨行书写,单引号内也不跨行写。 每个子句是一行。 字符串用单引,列别名用双引。 标点符号要用英文标点,中文出错。...如设置过大,在desc objectname时,name列和type 列占位非常长,使用colnamefora7;语句无效,只能设置linesize变小。
2:表的结构 ● 用来管理数据的二维表在关系数据库中简称为表。 ● 根据SQL语句的内容返回的数据同样是二维表格式。 ● 表的行称为记录,表的列称为字段。...2:SQL语句及其种类 SQL使用关键字、表名、列名等组合成一句SQL语句来描述操作的内容。 根据指令种类不同,SQL语句可分为三种: ● DDL(数据定义语言):用来创建和删除数据库或表等对象。...④ REVOKE:取消用户的操作权限。 3:SQL的基本书写规则 ● SQL语句要以分号(;)结尾。 ● SQL不区分关键字的大小写,但是插入到表中的数据是区分大小写的。... ...); 例如我创建的Product表: ? 3:命名规则 ● 数据库名称、表名、列名可以使用英文字母、数字和下划线三种字符组成。...五:表的更新和删除 1:表的删除 使用语句: DROP TABLE ; 删除了表是无法恢复的。
语句不区分大小写. 数据区分大小写. mysql中sql的结束使用";"号表示....(); 显示创建库语句 show create database 库名; 数据库中的数据类型 (了解,知道在什么情况下应该使用什么类型的数据) 一。...(如果创建表时不指定,默认使用数据库的字符集) alter table 表名 character set 字符集 collate 校对集; alter table...(掌握) 保证数据的完整性的. 1.非空约束(not null) 指定非空约束的列, 在插入记录时 必须包含值. 2.唯一约束(unique) 该列的内容在表中....(name,email) values('tom','tom@itcast.cn'); ****注意: 数据类型为字符串类型的.需要使用单引号包裹. 2>不指定插入哪些列, 需要指定每一列的值
领取专属 10元无门槛券
手把手带您无忧上云