當前位置:首頁 » 編程語言 » 表結構欄位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 的表示欄位允許零長