㈠ 如何通過sql 查看錶的結構
在查詢分析器中用SQL語句
㈡ mysql查看錶注釋 sql語句怎麼寫
mssql查詢:
SELECTso.[id]ASObjectID,
so.[name]ASObjectName,so.XType,
(CASEWHEN(LEFT(text,2)='/*')
AND(charindex('*/',text)>0)THENsubstring([text],3,patindex('%*/%',text)-3)
ELSE''END)ASComments
.[id]=sc.[id]
WHEREso.[xtype]='U'ORso.[xtype]='V'
mysql表注釋查詢:
selecttable_name,table_commentfrominformation_schema.tableswheretable_schema='image'andtable_name='tableName'
㈢ oracle中,如何利用sql語句查詢某個表的結構
利用sql語句查詢某個表的結構的方法:
通過Oracle中的user_tab_cols, user_col_comments, user_constraints, user_cons_columns表聯合查詢。
1、user_tab_cols用來獲取對應用戶表的列信息;
2、user_col_comments用來獲取對應用戶表列的注釋信息;
3、user_constraints用來獲取用戶表的約束條件;
4、user_cons_columns約束中用戶可訪問列。
示例代碼:
selectt.table_name,
t.column_name,
t.data_type,
t.data_length,
t.nullable,
t.column_id,
c.comments,
(SELECTCASE
WHENt.column_name=m.column_nameTHEN
1
ELSE
0
END
FROMDUAL)iskey
FROMuser_tab_colst,
user_col_commentsc,
(selectm.column_name
fromuser_constraintss,user_cons_columnsm
wherelower(m.table_name)='qh_outstoresabinfo'
andm.table_name=s.table_name
andm.constraint_name=s.constraint_name
ands.constraint_type='P')m
WHERElower(t.table_name)='qh_outstoresabinfo'
andc.table_name=t.table_name
andc.column_name=t.column_name
andt.hidden_column='NO'
orderbyt.column_id
㈣ 怎樣用sql語句建立一個與現在表完全相同結構的新表
如果只創建表結構,可用如下語句;
select*into新表from舊表where1<>1;
如果創建表結構並且同時數據也要,可用如下語句:
select*into新表from舊表;
說明:
其中第一句用了1<>1,也就代表條件永遠為false,這樣就表示沒有數據被篩選,所以只是建立了一個空表。
㈤ 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)
- 注意:這里如果過濾的欄位數量和子表數量不一致,則會報錯。
㈥ SQL如何復製表結構
1、既復製表結構也復製表內容的SQL語句:
CREATE TABLE tab_new AS SELECT * FROM tab_old;
2、只復製表結構不復製表內容的SQL語句:
CREATE TABLE tab_new AS SELECT * FROM tab_old WHERE 1=2;
3、不復製表結構,只復制內容的sql語句:
SELECT vale1, value2 into Table2 from Table1
(6)租客表結構的SQL語句擴展閱讀:
SQL中常用的語句:
1、說明:創建資料庫
CREATE DATABASE database-name
2、說明:刪除資料庫
drop database dbname
3、說明:創建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根據已有的表創建新表:
A:create table tab_new like tab_old (使用舊表創建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
4、說明:刪除新表
drop table tabname
5、說明:增加一個列
Alter table tabname add column col type
6、說明:添加主鍵
Alter table tabname add primary key(col)
7、說明:刪除主鍵
Alter table tabname drop primary key(col)
8、說明:創建索引
create [unique] index idxname on tabname(col….)
9、刪除索引
drop index idxname
㈦ 修改表結構的sql命令
SQL語句中修改表結構的命令是ALTER TABLE。ALTER TABLE 語句用於在已有的表中添加、修改或刪除列。
案例:表結構CREATE TABLE `login_user` ( `id` int(32) NOT NULL AUTO_INCREMENT, `name` varchar(225) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '名字'。
sql命令:
1、update :用於更新表中的數據
update table_name
set goods_name=a,goods_id=b,...
WHEREsome_column=some_value;
2、delete:用於刪除表中的行
delete from table_name where some_column=some_value;
註:where語句是指定哪條記錄被更新,如果省略了則所有記錄都被更新。
㈧ 幫幫寫個sql語句
你的語句已經是最簡單的了, 有時候語句不是越簡單越好, 還要考慮語句的執行效率, 多寫幾句話是很必要的, 精煉的語句前提是不影響正常功能, 效果相同情況下的精煉, 謝謝
㈨ 15個MySQL常用基本SQL語句
在學習SQL語句之前,首先需要區分幾個概念,我們常說的資料庫是指資料庫軟體,例如MySQL、Oracle、SQL Server等,而本文提到的資料庫是指資料庫軟體中的一個個用於存儲數據的容器。
在MySQL中,資料庫稱為database,數據表稱為table,一個資料庫軟體中有多個資料庫(databases),每個資料庫中又可以有多個數據表(tables),最終,數據是存儲在數據表中。
資料庫和數據表之間的關系可以用下面這個圖來表示,對於一個資料庫來說,有多個數據表。
在正式開始寫SQL語句之前,需要說明兩點。
這里通過MySQL Workbench來寫SQL代碼,在Workbench中,執行一條SQL語句的方式有兩種。
了解了這之後,接下來介紹一些常見的命令,分兩部分:資料庫常用命令和數據表常用命令。
1、查看有哪些資料庫
2、創建資料庫
創建一個名為Testdb的資料庫。
3、創建資料庫並指定編碼格式
有些時候,為了防止中文亂碼,創建資料庫的時候需要指定編碼格式。
4、使用某個資料庫
使用mydb這個資料庫,或者進入mydb這個資料庫。
5、刪除資料庫
刪除Testdb這個資料庫。
1、查看有哪些數據表
進入某個資料庫之後,想查看有哪些數據表,SQL語句為:
mydb是一個新建的資料庫,所以自然是沒有數據表。
2、創建數據表
建表SQL語句格式為:
說明: 每個欄位以逗號分隔,最後一個欄位不加逗號。
例如,給定一個學員信息表,如下表所示。
根據以上表格,建表SQL語句如下。
以上語句中,primary key表示主鍵,意思是這個欄位作為記錄的唯一標識,就像每個人的身份證號,都是唯一確定的。
3、查看錶結構
查看錶結構的SQL命令為:
執行該命令會顯示表stuinfo的基本結構,例如有哪些欄位,每個欄位是什麼類型,誰是主鍵等。
4、修改數據表
修改數據表通過drop子句進行,比如,建完表後,想增加一個欄位,SQL語句的格式為:
想在指定位置增加一個欄位,例如,在某個欄位後增加一個欄位,SQL語句的格式為:
如果在某個欄位之前增加欄位,用before即可。
例如,在欄位age後增加一個欄位major(專業),SQL語句為:
執行這個命令,再通過describe查看錶結構,會發現表中多了一個欄位major。
如果要刪除major這個欄位,通過drop子句,SQL語句為:
5、重命名表
重命名表通過alter+rename來實現,SQL語句格式為:
這里為了不影響之前創建的表,我們創建一個新表,SQL語句如下。
以上創建一個名為stuInfoTest的表,現在想將它的名稱改成stuinfotest1,SQL語句為:
6、刪除數據表
刪除數據表通過drop進行,SQL語句格式為:
例如,刪除數據表stuinfotest1,SQL語句為:
7、插入記錄
此時的表stuinfo是空的,沒有數據,我們要向表中插入記錄。
插入記錄通過insert into進行,SQL語句格式為:
例如,向表stuinfo插入一條記錄,SQL語句為:
注意:上方是一條SQL語句,為了可讀性換行,記住一條SQL語句默認以分號結尾。
如果需要一次性插入多條記錄,SQL語句格式為:
例如,向表stuinfo再插入兩條記錄,SQL語句為:
注意:如果設置了主鍵,插入記錄的主鍵欄位是不能重復的,也就是不能插入重復的記錄。
作業:大家可以按照上述方法將上面的學員信息表中的所有記錄都插入表stuinfo中。
8、查詢記錄
有了數據之後,就可以查詢記錄了,查詢記錄通過select子句進行。
例如,想查詢表stuinfo中的所有記錄,SQL語句為:
執行之後,就可以看到表stuinfo中的所有記錄了。
如果想查詢符合某個條件的記錄,就要用到where子句了,SQL格式為:
例如,想查詢stuid為20161001的記錄,SQL語句為:
9、刪除記錄
刪除記錄通過delete子句進行,SQL語句格式為:
例如,想刪除stuid為20161002的記錄,SQL語句為:
10、修改記錄
修改記錄通過update子句進行,update就是更新的意思,SQL語句格式為:
例如,想將學號(stuid)為20161001的記錄的姓名(stuname)更新為Jack,SQL語句為:
以上,就是MySQL中的基本SQL語句。
零基礎如何學習數據分析?查看下方專欄。