当前位置:首页 » 编程语言 » 表结构字段sql语句
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

表结构字段sql语句

发布时间: 2022-07-09 07:27:33

A. mysql中查询数据库中表名称和结构的sql语句是什么啊啊

TABLE 语句

具体语法:TABLE table_name [ORDER BY column_name] [LIMIT number [OFFSET number]]
其实从语法上看,可以排序,也可以过滤记录集,不过比较简单,没有 SELECT 那么强大。

示例 1

简单的建一张很小的表 y1,记录数为 10 条。表 t1,插入 10 条记录

  • mysql-(ytt/3305)->create table t1 (r1 int,r2 int);

  • Query OK, 0 rows affected (0.02 sec)

  • mysql-(ytt/3305)->insert into t1

  • with recursive aa(a,b) as (

  • select 1,1

  • union all

  • select a+1,ceil(rand()*20) from aa where a < 10

  • ) select * from aa;

  • Query OK, 10 rows affected (0.00 sec)

  • Records: 10 Duplicates: 0 Warnings: 0

  • 简单全表扫描mysql-(ytt/3305)->select * from t1;+------+------+| r1 | r2 |+------+------+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+------+------+10 rows in set (0.00 sec)

  • TABLE 结果mysql-(ytt/3305)->table t1;+------+------+| r1 | r2 |+------+------+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+------+------+10 rows in set (0.00 sec)

  • 看下 table 的执行计划mysql-(ytt/3305)->explain table t1 order by r1 limit 2G*************************** 1. row *************************** id: 1 select_type: SIMPLE table: t1 partitions: NULL type: ALLpossible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 10 filtered: 100.00 Extra: Using filesort1 row in set, 1 warning (0.00 sec)

  • 其实可以看到 TABLE 内部被 MySQL 转换为 SELECT 了。mysql-(ytt/3305)->show warningsG*************************** 1. row *************************** Level: Note Code: 1003Message: /* select#1 */ select `ytt`.`t1`.`r1` AS `r1`,`ytt`.`t1`.`r2` AS `r2` from `ytt`.`t1` order by `ytt`.`t1`.`r1` limit 21 row in set (0.00 sec)

  • 那其实从上面简单的例子可以看到 TABLE 在内部被转成了普通的 SELECT 来处理。示例 2应用于子查询里的子表。这里要注意,内表的字段数量必须和外表过滤的字段数量一致。克隆表 t1 结构mysql-(ytt/3305)->create table t2 like t1;Query OK, 0 rows affected (0.02 sec)

  • 克隆表 t1 数据mysql-(ytt/3305)->insert into t2 table t1;Query OK, 10 rows affected (0.00 sec)Records: 10 Duplicates: 0 Warnings: 0

  • table t1 被当做内表,表 t1 有两个字段,必须同时满足 t2 检索时过滤的字段也是两个。mysql-(ytt/3305)->select * from t2 where (r1,r2) in (table t1);+------+------+| r1 | r2 |+------+------+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+------+------+10 rows in set (0.00 sec)

  • 注意:这里如果过滤的字段数量和子表数量不一致,则会报错。

B. MySQL数据库查询字段属性(即表结构)的SQL语句怎么写

DESC mydb.mytable ;这样可以不?
更详细的,可以用SHOW FULL COLUMNS FROM mydb.mytable ;

C. 求表结构的SQL语句

create table Student(S# int,Sname varchar(10),Sage int,Ssex varchar(10),Sclass varchar(10),Sgrade varchar(10))
create table Course(C# int,Cname varchar(100),t# int)
create table SC(S# int,C# int,score float)
create table Teacher(T# int ,Tname varchar(10))

D. 如何使用SQL语句修改表的结构,比如添加字段,修改字段的类型

1.修改数据表名
ALTER TABLE OLD_TABLE_NAME RENAME TO NEW_TABLE_NAME;
2.修改列名
ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN_NAME TO NEW_COLUMN_NAME;
3.修改列的数据类型
ALTER TABLE TABLE_NAME MODIFY COLUMN_NAME NEW_DATATYPE;
4.插入列
ALTER TABLE TABLE_NAME ADD COLUMN_NAME DATATYPE;
5.删除列
ALTER TABLE TABLE_NAME DROP COLUMN COLUMN_NAME;

E. 如何用SQL语句查询一个数据表所有字段的类型

用SQL语句查询一个数据表所有字段的类型可以参考下面的代码:

SELECT

name AS column_name,TYPE_NAME(system_type_id) AS column_type,

max_length,is_nullable

FROM sys.columns

WHERE object_id=OBJECT_ID(N'Address')

(5)表结构字段sql语句扩展阅读:

SQL语句

创建索引:create [unique] index idxname on tabname(col…。)

增加列:Alter table table_name add column_name column_type [default 默认值]--在表中增加一列,[]内的内容为可选项

删除索引:drop index idxname on tabname

F. sql 语言中,怎样查询表结构如何修改表中字段的

不同的数据库、查询表结构的sql语句是不一样的,修改表中的字段用alter
table
tablename
语句吧。。。

G. 如何使用SQL语句修改表的结构,比如添加字段

altertable表名add字段名类型(长度)默认值是否为空
altertableT1addF1varchar(20)default'123'notnull

H. 向表里增加一个字段的 SQL 如何写

如果要在数据表中添加一个字段,应该如何表示呢?下面就为您介绍表添加字段的SQL语句的写法,希望可以让您对SQL语句有更深的认识。

通用式:alter table [表名] add [字段名]字段属性default缺省值default是可选参数

增加字段:alter table [表名] add字段名smallint default 0增加数字字段,整型,缺省值为0

alter table [表名] add字段名int default 0增加数字字段,长整型,缺省值为0

alter table [表名] add字段名single default 0增加数字字段,单精度型,缺省值为0

alter table [表名] add字段名double default 0增加数字字段,双精度型,缺省值为0

alter table [表名] add字段名Tinyint default 0增加数字字段,字节型,缺省值为0

alter table [表名] add字段名text [null]增加备注型字段,[null]可选参数

alter table [表名] add字段名memo [null]增加备注型字段,[null]可选参数

alter table [表名] add字段名varchar(N)[null]增加变长文本型字段大小为N(1~255)

alter table [表名] add字段名char [null]增加定长文本型字段大小固定为255

alter table [表名] add字段名Datetime default函数增加日期型字段,其中函数可以是now(),date()等,表示缺省值

(上面都是最常用的,还有其他的属性,可以参考下面的数据类型描述)

删除字段:alter table [表名] drop字段名

修改变长文本型字段的大小:alter table [表名] alter字段名varchar(N)

删除表:drop table [表名]

创建表:

sql="CREATE TABLE [表名]([字段1,并设置为主键] int IDENTITY(1,1)NOT NULL CONSTRAINT PrimaryKey PRIMARY KEY,"&

"[字段2] varchar(50),"&

"[字段3] single default 0,"&

"[字段4] varchar(100)null,"&

"[字段5] smallint default 0,"&

"[字段6] int default 0,"&

"[字段7] date default date(),"&

"[字段8] int default 1)"

conn.execute sql

有null的表示字段允许零长

I. 怎么用sql语句查询表的结构

下边是SQLSERVER查询数据字典的语法,如果相查某一个表,只需要加where条件一个表名的连接即可。
SELECT TOP 100 PERCENT --a.id,
CASE WHEN a.colorder = 1 THEN d.name ELSE '' END AS 表名,
CASE WHEN a.colorder = 1 THEN isnull(f.value, '') ELSE '' END AS 表说明,
a.colorder AS 字段序号, a.name AS 字段名, CASE WHEN COLUMNPROPERTY(a.id,
a.name, 'IsIdentity') = 1 THEN '√' ELSE '' END AS 标识,
CASE WHEN EXISTS
(SELECT 1
FROM dbo.sysindexes si INNER JOIN
dbo.sysindexkeys sik ON si.id = sik.id AND si.indid = sik.indid INNER JOIN
dbo.syscolumns sc ON sc.id = sik.id AND sc.colid = sik.colid INNER JOIN
dbo.sysobjects so ON so.name = si.name AND so.xtype = 'PK'
WHERE sc.id = a.id AND sc.colid = a.colid) THEN '√' ELSE '' END AS 主键,
b.name AS 类型, a.length AS 长度, COLUMNPROPERTY(a.id, a.name, 'PRECISION')
AS 精度, ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0) AS 小数位数,
CASE WHEN a.isnullable = 1 THEN '√' ELSE '' END AS 允许空, ISNULL(e.text, '')
AS 默认值, ISNULL(g.[value], '') AS 字段说明, d.crdate AS 创建时间,
CASE WHEN a.colorder = 1 THEN d.refdate ELSE NULL END AS 更改时间
FROM dbo.syscolumns a LEFT OUTER JOIN
dbo.systypes b ON a.xtype = b.xusertype INNER JOIN
dbo.sysobjects d ON a.id = d.id AND d.xtype = 'U' AND
d.status >= 0 LEFT OUTER JOIN
dbo.syscomments e ON a.cdefault = e.id LEFT OUTER JOIN
dbo.sysproperties g ON a.id = g.id AND a.colid = g.smallid AND
g.name = 'MS_Description' LEFT OUTER JOIN
dbo.sysproperties f ON d.id = f.
id AND f.smallid = 0 AND
f.name = 'MS_Description'
where d.name = '表名'---查询固定表,如果所有,去掉where条件
ORDER BY d.name, a.colorder

ORACLE数据库使用USER_TAB_COLUMNS表
select TABLE_NAME,
COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH
from USER_TAB_COLUMNS

J. 在数据表中添加一个字段的SQL语句怎么写

通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数

增加字段: alter table [表名] add 字段名 smallint default 0 增加数字字段,整型,缺省值为0

alter table [表名] add 字段名 int default 0 增加数字字段,长整型,缺省值为0

alter table [表名] add 字段名 single default 0 增加数字字段,单精度型,缺省值为0

alter table [表名] add 字段名 double default 0 增加数字字段,双精度型,缺省值为0

alter table [表名] add 字段名 Tinyint default 0 增加数字字段,字节型,缺省值为0

alter table [表名] add 字段名 text [null] 增加备注型字段,[null]可选参数

alter table [表名] add 字段名 memo [null] 增加备注型字段,[null]可选参数

alter table [表名] add 字段名 varchar(N) [null] 增加变长文本型字段大小为N(1~255)

alter table [表名] add 字段名 char [null] 增加定长文本型字段大小固定为255

alter table [表名] add 字段名 Datetime default 函数增加日期型字段,其中函数可以是now(),date()等,表示缺省值

(上面都是最常用的,还有其他的属性,可以参考下面的数据类型描述)

删除字段: alter table [表名] drop 字段名

修改变长文本型字段的大小:alter table [表名] alter 字段名 varchar(N)

删除表: drop table [表名]

创建表:

sql="CREATE TABLE [表名] ([字段1,并设置为主键] int IDENTITY (1, 1) NOT NULL CONSTRAINT PrimaryKey PRIMARY KEY,"&

"[字段2] varchar(50),"&

"[字段3] single default 0,"&

"[字段4] varchar(100) null,"&

"[字段5] smallint default 0,"&

"[字段6] int default 0,"&

"[字段7] date default date(),"&

"[字段8] int default 1)"

conn.execute sql

有null 的表示字段允许零长