select from 学生表。。。
所有列
select [id], [name] from [sysobjects] where [type] = 'u' order by [name] 所有表
string cnn = ConfigurationManagerConnectionStrings["ReportDataService"]ConnectionString;
using (SqlConnection cn = new SqlConnection())
{
cnConnectionString = cnn;
cnOpen();
SqlCommand cmd = new SqlCommand();
cmdConnection = cn;
cmdCommandText = "select from yourTable";
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
daFill(ds);
dsTables[0] 这个就是你的数据
}
sp_help tablename 也可以。此命令可以查看各个字段的详细信息和索引等 信息!
sp_helptext viewname or procname 可以查看视图和存储过程的名字。
这些都是很基本的东西,建议还是找点sybase的基础资料看看。
1、查询SQL中的所有表:
Select TABLE_NAME FROM 数据库名称INFORMATION_SCHEMATABLES Where TABLE_TYPE='BASE TABLE' 执行之后,就可以看到数据库中所有属于自己建的表的名称
2、查询SQL中所有表及列:
Select dbosysobjectsname as Table_name, dbosyscolumnsname AS Column_name FROM dbosyscolumns INNER JOIN dbosysobjects ON dbosyscolumnsid = dbosysobjectsid Where (dbosysobjectsxtype = 'u') AND (NOT (dbosysobjectsname LIKE 'dtproperties'))
3、在Sql查询分析器,还有一个简单的查询方法:
EXEC sp_MSforeachtable @command1="sp_spaceused ''" 执行完之后,就可以看到数据库中所有用户表的信息
4、查询总存储过程数:
select count() 总存储过程数 from sysobjects where xtype='p'
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程
一、系统表空间
在 MySQL 数据目录下有一个名为 ibdata1 的文件,可以保存一张或者多张表。
923275 12M -rw-r----- 1 mysql mysql 12M 3月 18 10:42 ibdata1
这个文件就是 MySQL 的系统表空间文件,默认为 1 个,可以有多个,只需要在配置文件 mycnf 里面这样定义即可。
innodb_data_file_path=ibdata1:200M;ibdata2:200M:autoextend:max:800M系统表空间不仅可以是文件系统组成的文件,也可以是非文件系统组成的磁盘块,比如裸设备,定义也很简单innodb_data_file_path=/dev/nvme0n1p1:3Gnewraw;/dev/nvme0n1p2:2Gnewraw
系统表空间里都有些啥内容?
具体内容包括:double writer buffer、 change buffer、数据字典(MySQL 80 之前)、表数据、表索引。
那 MySQL 为什么现在主流版本默认都不是系统表空间?
究其原因,系统表空间有三个最大的缺点:原因 1:无法做到自动收缩磁盘空间,造成很大的空间浪费。即使它包含的表都被删掉,这部分空间也不会自动释放。
二、单表空间
单表空间不同于系统表空间,每个表空间和表是一一对应的关系,每张表都有自己的表空间。具体在磁盘上表现为后缀为 ibd 的文件。比如表 t1,对应的表空间文件为 t1ibd917107 96K -rw-r----- 1 mysql mysql 96K 3月 18 16:13 t1ibd
单表空间如何应用到具体的表呢?
有两种方式:方式 1:在配置文件中开启。在配置文件中开启单表空间设置参数 innodb_filer_per_table,这样默认对当前库下所有表开启单表空间。innodb_file_per_table=1另外也可以直接建表时指定单表空间mysql> create table t1 (id int, r1 char(36)) tablespace innodb_file_per_table;
Query OK, 0 rows affected (004 sec)
单表空间除了解决之前说的系统表空间的几个缺点外,还有其他的优点,详细如下:
1 truncate table *** 作比其他的任何表空间都快;
2 可以把不同的表按照使用场景指定在不同的磁盘目录;
比如日志表放在慢点的磁盘,把需要经常随机读的表放在 SSD 上等。
mysql> create table ytt_dedicated (id int) data directory = '/var/lib/mysql-files';
Query OK, 0 rows affected (004 sec)3 可以用 optimize table 来收缩或者重建经常增删改查的表。一般过程是这样的:建立和原来表一样的表结构和数据文件,把真实数据复制到临时文件,再删掉原始表定义和数据文件,最后把临时文件的名字改为和原始表一样的。
三、通用表空间
通用表空间先是出现在 MySQL Cluster 里,也就是 NDB 引擎。从 MySQL 57 引入到 InnoDB 引擎。通用表空间和系统表空间一样,也是共享表空间。每个表空间可以包含一张或者多张表,也就是说通用表空间和表之间是一对多的关系。
SELECT TOP 100 PERCENT ccolid AS 序号, oname AS 表名, cname AS 列名,
tname AS 类型, clength AS 长度, cisnullable AS 允许空,
CAST(m[value] AS Varchar(100)) AS 说明
FROM dbosyscolumns c INNER JOIN
dbosysobjects o ON oid = cid AND objectproperty(oid, N'IsUserTable') = 1 AND
oname <> 'dtproperties' INNER JOIN
dbosystypes t ON txusertype = cxusertype LEFT OUTER JOIN
dbosysproperties m ON mid = oid AND msmallid = ccolorder
ORDER BY oname, ccolid
什么也不用修改就可以了
SQLSERVER:SELECT from sysobjects where xtype = 'u'
ORACLE: select from user_tables
看看行不行
以上就是关于SQL如何列出表名全部的内容,包括:SQL如何列出表名、C#如果我想列出数据库内的表Table的所有数据,那么接下来该怎么写、sybase数据库 如何查看数据库中的表的详细信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)