我有2-3个不同的列名称,我想在整个数据库中查找并列出所有具有这些列的表.任何简单的脚本?
我们都知道要从表中选择所有列,我们都可以使用
SELECT * FROM tableA
Run Code Online (Sandbox Code Playgroud)
有没有办法在不指定所有列的情况下从表中排除列?
SELECT * [except columnA] FROM tableA
Run Code Online (Sandbox Code Playgroud)
我知道的唯一方法是手动指定所有列并排除不需要的列.这非常耗时,所以我正在寻找节省时间和精力的方法,以及如果表有更多/更少的列,将来的维护.
谢谢!
我需要查询数据库以获取列名,而不是与表中的数据混淆.举例来说,如果我有一个名为表中EVENT_LOG包含eventID,eventType,eventDesc,和eventTime,然后我会想检索查询,并没有其他的字段名.
我找到了如何做到这一点:
但我需要知道:如何在Oracle中完成这项工作?
当我们使用SSRS创建报告时,我们可以使用数据集窗口中的查询框来创建自定义查询.但是在我们想要创建报告的本地报告(.RDLC)中,我们应该为报告设置一个设计的数据集.
问题是,当我们有100个报告时,我们也应该有100个数据集.目前我们使用带有这些字段的数据集(F1,F2,F3,...,F100),在将数据表绑定到报告之前,我们更改了数据表列的名称.但它的可读性很低.
我想问一下,有没有更好的方法来解决这个问题?
谢谢
假设我在SQLServer中有一个名为MyTable的表
ID FirstName LastName
1 Harry Dan
2 Maria Vicente
3 Joe Martin
Run Code Online (Sandbox Code Playgroud)
现在,如果我必须在表中插入任何数据,我将简单地像这样触发Insert Query
INSERT INTO MyTable (ID, FirstName, LastName) VALUES (4, Smith, Dan);
Run Code Online (Sandbox Code Playgroud)
但是,如果我事先不知道列名,我只知道表名.那么有没有办法在运行时获取表的列名?
我有一个文本框,用户输入他的SQL查询.但是,我需要创建一个程序来验证查询,然后再在数据库中执行它.
例如:
假设用户输入
SELECT A1,
A2,
A3
FROM XYZ
Run Code Online (Sandbox Code Playgroud)
所以,现在,在执行查询之前,我需要检查是否A1,A2以及A3存在于表XYZ与否.如果不是,则应向用户显示错误消息.
我无法想办法继续下去.那么,任何人都可以通过示例代码片段提供有关如何进一步处理的基本想法吗?
我正在使用 mysql 终端
我想知道我的表有哪一列,但它是空的并且没有向我显示任何内容
Show Databases;+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
Run Code Online (Sandbox Code Playgroud)
Use testDatabase changed
Show Tables;+----------------+
| Tables_in_test |
+----------------+
| tblPerson |
| tblStudent |
+----------------+
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能看到表的列,即使它是空的,如下所示:
+----+-----------------+---------+
| id | name | is_male |
+----+-----------------+---------+
| | | |
+----+-----------------+---------+
Run Code Online (Sandbox Code Playgroud)
不是这个:
Empty set (0.00 sec)
Run Code Online (Sandbox Code Playgroud) SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
ORDER BY TABLE_NAME ASC
Run Code Online (Sandbox Code Playgroud)
我正在使用此代码来打印数据库的表名.我想要做的是在每个表中打印表名和列名.我可以通过嵌套声明来做到这一点.
此代码在查询窗口中的SQL Server上运行.
我试过这个
SELECT COL_NAME
FROM
(SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
ORDER BY TABLE_NAME ASC)
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
这只是一个懒惰的想法.我有一个大约9列名称的表.有什么办法可以使用SQL语句只返回列名吗?通常的方法是写出我的列名
SELECT * FROM tableName;
Run Code Online (Sandbox Code Playgroud)
声明但是想知道我是否可以使用SQL语句获取列名.
任何想法,将不胜感激.
谢谢!
我已经阅读了一些关于此的答案。但他们都给了我同样的错误。
以下是我阅读的解决方案:
import sqlite3 as sql
#connect to database
connection = sql.connect("database.db")
#make a cursor which will move in the database
cursor = connection.cursor()
#execute the different command
def execute(cursor, command):
return cursor.execute(command)
#print the result
def print_result(result):
for var in result:
print(var)
# select columns' name from table
command = """select distinct emplyee from emplyee.information_schema.columns"""
result = execute(cursor, command)
print_result(result)
Run Code Online (Sandbox Code Playgroud)表名是emplyee。
错误是:回溯(最近一次通话):
文件“database.py”,第 47 行,在
result = execute(cursor, command)
Run Code Online (Sandbox Code Playgroud)
文件“database.py”,第 11 行,在执行中 …
我想按日期在表中导出数据,所以我用jdbc编写了一个java程序.
public void exportData(Connection conn,String filename) {
Statement stmt;
String query;
try {
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
SimpleDateFormat dateFormat = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
Date startDate = dateFormat.parse("2014-08-21 00:00:00");
Date endDate = dateFormat.parse("2014-08-22 00:00:00");
Calendar startCalendar = Calendar.getInstance();
startCalendar.setTime(startDate);
Calendar endCalendar = Calendar.getInstance();
endCalendar.setTime(endDate);
Calendar thisDayCalendar = startCalendar;
while(!thisDayCalendar.after(endCalendar)){
Date thisDayDate = thisDayCalendar.getTime();
thisDayCalendar.add(Calendar.DATE, 1);
Date nextDayDate = thisDayCalendar.getTime();
String thisDayString = dateFormat.format(thisDayDate);
String nextDayString = dateFormat.format(nextDayDate);
SimpleDateFormat dateFormat1 = new SimpleDateFormat ("yyyy-MM-dd");
String fileDateString = dateFormat1.format(thisDayDate);
//For comma separated …Run Code Online (Sandbox Code Playgroud) sql ×6
c# ×4
sql-server ×4
database ×3
asp.net ×2
mysql ×2
.net ×1
c#-4.0 ×1
java ×1
jdbc ×1
oracle ×1
postgresql ×1
python-3.x ×1
reporting ×1
select ×1
sqlite ×1
t-sql ×1
validation ×1