精华内容
下载资源
问答
  • 大佬们好,问个问题,我是用PHP里面加入数据库语句,但是表名和字段都是中文的,无法正常使用SQL语句,另外好像MYSQL和MSSQL的中文语句不大一样,在MYSQL里面加个单引号就可以查询了,在MSSQL不知道怎么写,谢谢~~~~...
  • [/b]//此处获取的中文表名乱码,我在论坛里找了几个设置字符集的方法,试了之后依然乱码。怎样解决? } if(rs!=null){ rs.close(); } }catch(SQLException e){ logger.error...
  • Mysql表名 字段名最长长度 数据库名字最长为 < 64字符 数据表名字最长为 < 64字符 字段名字最长为 < 64字符 一个中文占两个英文字符

    Mysql表名 字段名最长长度

    1. 数据库名字最长为 < 64字符

    2. 数据表名字最长为 < 64字符

    3. 字段名字最长为 < 64字符

    一个中文占两个英文字符

    展开全文
  • 今天我在了解某一功能时,发现...我们在使用中文的表名和列名的时候,先确认我们使用的数据库是否支持中文表名和列名。例如我最常用的SQL Server,它就是支持使用中文的。现在主流的数据库,对多语言的支持也在日益...

    今天我在了解某一功能时,发现数据库列名居然是中文的,工作六年多还是一回见到。只记得上学的时候,我们老师说过会出现兼容性等问题,具体已记不清楚了。

    我好事的百度了下,整理了各网友给出的答案,希望对大家有帮助。

    我们在使用中文的表名和列名的时候,先确认我们使用的数据库是否支持中文表名和列名。例如我最常用的SQL Server,它就是支持使用中文的。现在主流的数据库,对多语言的支持也在日益完善。

    下面我们来说说选用中文的适合场景及优缺点。

    场景

    1、在不熟悉的领域(机械,医疗等专业)里,英文往往并不能准确的翻译,而使用拼音或缩写也不直观,不如直接使用英文。

    2、在简历的、快速开法的(低成本仅供演示的)项目中,往往对数据字典没什么特别的要求,也无需考虑稳定性、迁移性等。使用中文可以方便修改逻辑结构模型,方便SQL语句设计,而且将来可以随时改为英文字段名。

    优点:

    1、不必考虑命名规范

    2、很清晰的知道我们要操作的字段,看起来简直一目了然。--当然如果数据库被其他人进入也是一目了然,安全性差一点。

    3、页面显示的时候无需转换。

    4、添加、更改字段属性,无需调整永久字段。 --关于这一点,我并没有理解。若有人明白,请帮助下我,万分感谢。

    缺点:

    1、编写时中文的“,”和英文的“,”,中文的全角半角等切换太麻烦,很容易出问题。

    2、看起来有点Low,也容易出现打错列名。--介于智能输入法的智能提示及我们国家语文的博大精深。

    3、中文储存预英文储存有差异,所以一些系统视图中可能会有一些性能或者维护上的影响。合并列的时候很麻烦。

    4、兼容性差。如多语言环境下、多种数据库情况下,兼容性差。在Java中,是不支持中文列名的,它会直接导致你的操作不成功。

    总的来说,选用中文表名列名弊远大于利。所以为了避免不必要的麻烦和莫名其妙的错误,其他场景下还是选用英文为好。

    但我们需要注意的是:

    1、一定要命名规范。

    2、要避免一些名称与关键字冲突。

    3、考虑界面友好,页面显示一定要显示中文。

     

    转载于:https://www.cnblogs.com/LoveSuk/p/6647309.html

    展开全文
  • 需要知道表名中文名。。。 碰巧该库有表名注释。 一开始用Excel手工copy识别。后面突然想,应该可以用SQL查,百度一下。找到了 查询SQL如下: SELECT A.table_name as aaaa, A.num_rows, b.* FROM user_tables A...
    1. 【起源】

    拿到一个项目的数据库,为了快速熟悉系统。需要知道表名和中文名。。。  碰巧该库有表名注释。

    一开始用Excel手工copy识别。后面突然想,应该可以用SQL查,百度一下。找到了

    1. 查询SQL如下:

    SELECT
    A.table_name as aaaa,
    A.num_rows,
    b.*
    FROM
    user_tables A
    JOIN user_tab_comments b ON A .table_name = b.table_name


    ORDER BY
    aaaa asc

    展开全文
  • 替换掉plugins/sqldrivers/odbc/qsqlodbc4.dll和plugins/sqldrivers/odbc/qsqlodbcd4.dll即可
  • 最近遇到一个棘手的问题,客户的数据库表名,和存储过程名都是中文, 所以在写代码的时候要调用这些中文表名和存储过程名,但是总是出错,排除连接数据库的错误, 已经获得连接,执行中文存储过程或者表名的...
  • 但是当我换成 江西时:(我有两个一样的表出了名字不一样,自己爬的,因为陕西和山西的拼音是一样的所以就用的中文) / usr / lib / jvm / java - 8 - oracle / bin / java - ea - Didea . test . cyclic . ...

    三部分为(最下面解决办法)

        @Test
        public void testTowns(){
            List<town> towns = iUserDao.findTownByProvinceName("jiangxi");
            for(town t : towns){
                System.out.println(t);
            }
        }
    
    
        List<town> findTownByProvinceName(@Param("province") String province);
    
    
        <select id="findUserSByProvinceName" statementType="STATEMENT" resultType="com.mybatis.domain.User">
            select * from ${province}
        </select>
    



    当上面的第三行为 jiangxi时
    在这里插入图片描述
    但是当我换成 江西时:(我有两个一样的表出了名字不一样,自己爬的,因为陕西和山西的拼音是一样的所以就用的中文)
    在这里插入图片描述

    /usr/lib/jvm/java-8-oracle/bin/java -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:/home/zheng/zheng/IDEA/lib/idea_rt.jar=46813:/home/zheng/zheng/IDEA/bin -Dfile.encoding=UTF-8 -classpath /home/zheng/zheng/IDEA/lib/idea_rt.jar:/home/zheng/zheng/IDEA/plugins/junit/lib/junit-rt.jar:/home/zheng/zheng/IDEA/plugins/junit/lib/junit5-rt.jar:/usr/lib/jvm/java-8-oracle/jre/lib/charsets.jar:/usr/lib/jvm/java-8-oracle/jre/lib/deploy.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/cldrdata.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/dnsns.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/jaccess.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/jfxrt.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/localedata.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/nashorn.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/sunec.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/sunjce_provider.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/sunpkcs11.jar:/usr/lib/jvm/java-8-oracle/jre/lib/ext/zipfs.jar:/usr/lib/jvm/java-8-oracle/jre/lib/javaws.jar:/usr/lib/jvm/java-8-oracle/jre/lib/jce.jar:/usr/lib/jvm/java-8-oracle/jre/lib/jfr.jar:/usr/lib/jvm/java-8-oracle/jre/lib/jfxswt.jar:/usr/lib/jvm/java-8-oracle/jre/lib/jsse.jar:/usr/lib/jvm/java-8-oracle/jre/lib/management-agent.jar:/usr/lib/jvm/java-8-oracle/jre/lib/plugin.jar:/usr/lib/jvm/java-8-oracle/jre/lib/resources.jar:/usr/lib/jvm/java-8-oracle/jre/lib/rt.jar:/home/zheng/IdeaProjects/mybatisXml/target/test-classes:/home/zheng/IdeaProjects/mybatisXml/target/classes:/home/zheng/zheng/java/apache-maven-3.6.1/localRepository/org/mybatis/mybatis/3.4.5/mybatis-3.4.5.jar:/home/zheng/zheng/java/apache-maven-3.6.1/localRepository/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar:/home/zheng/zheng/java/apache-maven-3.6.1/localRepository/log4j/log4j/1.2.12/log4j-1.2.12.jar:/home/zheng/zheng/java/apache-maven-3.6.1/localRepository/junit/junit/4.10/junit-4.10.jar:/home/zheng/zheng/java/apache-maven-3.6.1/localRepository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit4 com.mybatis.test.testUser,testTowns
    log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).
    log4j:WARN Please initialize the log4j system properly.
    
    org.apache.ibatis.exceptions.PersistenceException: 
    ### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '??' at line 1
    ### The error may exist in com/mybatis/dao/mapper/IUserDao.xml
    ### The error may involve com.mybatis.dao.IUserDao.findTownByProvinceName
    ### The error occurred while executing a query
    ### SQL: select * from 江西
    ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '??' at line 1
    
    	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
    	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150)
    	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
    	at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:137)
    	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:75)
    	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)
    	at com.sun.proxy.$Proxy5.findTownByProvinceName(Unknown Source)
    	at com.mybatis.test.testUser.testTowns(testUser.java:76)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
    	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
    	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
    	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
    	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
    	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
    	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
    	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
    	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
    	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
    	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
    	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
    	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
    	at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
    	at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
    	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
    	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
    	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
    Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '??' at line 1
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    	at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
    	at com.mysql.jdbc.Util.getInstance(Util.java:381)
    	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
    	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
    	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
    	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
    	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
    	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
    	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536)
    	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465)
    	at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:734)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at org.apache.ibatis.logging.jdbc.StatementLogger.invoke(StatementLogger.java:57)
    	at com.sun.proxy.$Proxy8.execute(Unknown Source)
    	at org.apache.ibatis.executor.statement.SimpleStatementHandler.query(SimpleStatementHandler.java:73)
    	at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)
    	at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63)
    	at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:324)
    	at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
    	at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
    	at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:83)
    	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148)
    	... 30 more
    
    
    Process finished with exit code 255
    
    

    注意看关键

    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 
    You have an error in your SQL syntax; check the manual
     that corresponds to your MySQL server version for the 
     right syntax to use near '??' at line 1
    

    当我在命令行用中文就没错,但是这个传过来就不对,所以可能是传这个字符串的字符集不对,我这是ssm框架里面的,数据源是c3p0,于是在

        <bean id="comboPooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/java"/>
            <property name="driverClass" value="com.mysql.jdbc.Driver"/>
            <property name="user" value="zheng"/>
            <property name="password" value="123456789"/>
        </bean>
    

    这个第一个property里面的,jdbcUrl,里面添点东西。
    改成

    jdbc:mysql://localhost:3306/java?useUnicode=true&amp;characterEncoding=UTF-8
    

    然后完美解决,这个ssm框架用起来坑是真多

    展开全文
  • 表名采用26个英文字母(区分大小写)和0-9自然数(一般不需要)加上下划线“_”组成,多个单词用下划线“_”分隔 1.表名的格式一般为【模块名称-详细信息】 ...8.禁止使用数据库关键字,如name、t
  • m_odbc_db.tables(QSql::AllTables)本身就不支持非英文,此处是QT的一个BUG,读出来的就是乱码,根本就没法通过编码转换得出中文。 只需要编译sqldrivers/odbc这一个插件就行了。 用qtcreater打开C:\Qt\Qt5.9.5\...
  • exp 中文表名

    2017-11-02 09:42:38
    数据库字符集 utf8, 客户端字符集设置: export NLS_LANG="american_america".utf8 export LANG=en_US:UTF-8 这样,数据库中的中文表名就可以exp出来了...
  • 代码如下: SELECT (case when a.colorder=1 then d.name else ” end) N’表名’, a.colorder N’字段序号’, a.name N’字段名’, (case when COLUMNPROPERTY( a.id,a.name,’IsIdentity’)=1 then ‘√’else ” ...
  • 最近几天的时间都在弄mysql字符问题,最让我头疼的是一开始mysql能支持中文插入,但是不支持中文表名。这让我都抓狂了,现已解决该问题,解决方案如下,希望碰到类似问题的同行能少走弯路。  首先我要感谢...
  • 金蝶K3_Wise_v15.1各模块SQL数据库表名和字段描述, 其中总览为主表,之下对应各模块SQL表名中文描述,点击SQL表名,可查看该表各字段名称及中文描述,可作为金蝶维护人员开发参考
  • `(键盘数字1左侧键) 是 MySQL 的转义符,避免和 mysql 的本身的关键字冲突,只要你不在列名、表名中使用 mysql 的保留字或中文,就不需要转义。 所有的数据库都有类似的设置,不过mysql用的是`而已。通常用来说明...
  • 表名中文名 表说明 FType FSefDefSign 0 0 t_VoucherGroup 凭证字表 凭证的收付转等分类字 0 0 0 1 t_VoucherEntry 凭证分录表 凭证分录 0 0 0 2 ...
  • 数据库中表很多的时候,想找一张表,只记得表中文名称,不记得英文表名,可以用下边的语句模糊查询 SELECT table_name 表名, TABLE_COMMENT '表注解' FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '...
  • 通过设置gcluster_extend_ident参数,可以提供对中文表名和字段名的支持。 https://www.gbase8.cn/2114 参数 gcluster_extend_ident 用来控制是否可以创建中文表名字段、特殊字符的字段。 默认为 0,0 表示不...
  • 用下面命令在/gdlisnet目录下建立一个oraclebackup.sh文件vi /gdlisnet/oraclebackup.sh然后,将下面的内容增加到文件里。#oracle的环境变量export ORACLE_BASE=/oracle/ora10/export ORACLE_HOME=/oracle/ora10/...
  • 初学请教大牛:sql数据库名、表名,列名能使用中文吗?中文毕竟更直观

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 637
精华内容 254
关键字:

数据库中文表名