数据库表名,列名用中文有什么利弊

数据库表名,列名用中文有什么利弊,第1张

弊远远大于利。

数据库的原始设计(以及所有的编程语言),都是基于英文,中文如果遇上乱码的问题,反正会很难处理。

打字老是切换中英文,这个速度上也会变慢了好多比如

select

学生名字

from

学生表格

where

学生年龄>10;

中英文切换来切换去,实在是太麻烦了。

至于利,反正我看不到。除了说能一眼看到这个表名用上了中文,某些人会有莫名其秒的成就感,除此之后,我也想不出别的什么了。

可以用下面的方式获取,把tableName换成你的表名,有些数据库也可以直接使用Sql查询表列名

ResultSet

resultSet

=

statementexecuteQuery("select

from

tableName");

ResultSetMetaData

resultSetMetaData

=

resultSetgetMetaData();

for(int

i=0;

i

评论

0

0

加载更多

在jdbc执行一个sql语句的话,就会把sql语句对应的列都已元数据的形式提供给你,你可以根据元数据获取到列的信息

import javasqlConnection;

import javasqlDriverManager;

import javasqlPreparedStatement;

import javasqlResultSet;

import oraclejdbcdriverOracleResultSetMetaData;

public class DbTest {

public static void main(String[] args) {

Connection con = null;

ResultSet rs = null;

PreparedStatement stmt = null;

try {

ClassforName("oraclejdbcdriverOracleDriver")newInstance();

String url="jdbc:oracle:thin:@ip:port:servID"; //数据库连接字符串

String user="user"; //用户名

String password="pswd"; //密码

con = DriverManagergetConnection(url,user,password); //获取连接

//这里的sql为一个查询结果为0条记录的sql,目的是只获取元数据信息

stmt = conprepareStatement("SELECT FROM TEST_TABLE WHERE 0 = 1");

rs = stmtexecuteQuery();

//下面的即为执行结果集的元数据,即使查询结果没有数据,该元数据还是存在

OracleResultSetMetaData rsmd = (OracleResultSetMetaData)rsgetMetaData();

int columnCnt = rsmdgetColumnCount(); //列的数量

for (int i = 1; i <= columnCnt; i++) {

//打印列名

Systemoutprintln(rsmdgetColumnName(i));

}

} catch (Exception e) {

//发生异常,执行异常处理

eprintStackTrace();

} finally {

if (rs != null) {

//关闭结果集

try {

rsclose();

} catch (Exception e) {

}

}

if (stmt != null) {

//关闭statement

try {

stmtclose();

} catch (Exception e) {

}

}

if (con != null) {

//关闭连接

try {

conclose();

} catch (Exception e) {

}

}

}

}

}

那个 修改列名 各个数据库都支持的写法 到底有没有, 我也不大确定

下面是 3种数据库 各自的写法

你可以切换着测试测试, 看看哪种写法,是 各个数据库都支持的写法

Oracle

SQL> ALTER TABLE test_tab

2 RENAME COLUMN val TO val2;

Table altered

SQL Server

调用 EXECUTE sp_rename 来进行 对数据库表中,列名的变更。

1> EXECUTE sp_rename N'dbotest_tabval', N'Tmp_val2', 'COLUMN'

2> GO

注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。

1> EXECUTE sp_rename N'dbotest_tabTmp_val2', N'val2', 'COLUMN'

2> GO

注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。

MySQL

mysql> ALTER TABLE test_tab

-> CHANGE COLUMN val val2 VARCHAR(10); //

Query OK, 0 rows affected (013 sec)

Records: 0 Duplicates: 0 Warnings: 0

1、创建测试表,create table test_student(stu_id number, class_id number);

2、插入测试数据,

insert into test_student values(1,1001);

insert into test_student values(2,1001);

insert into test_student values(3,1002);

insert into test_student values(4,1003);

insert into test_student values(5,1003);

insert into test_student values(6,1003);

commit;

3、查询数据表中内容,select from test_student ;

4、将列名翻译为中文名进行展示,select stu_id as "学生编码", class_id as "课程编码" from test_student t;

以上就是关于数据库表名,列名用中文有什么利弊全部的内容,包括:数据库表名,列名用中文有什么利弊、怎么用java查数据库中表的列名、怎么样用获取数据表的列名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9528661.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存