『壹』 sql查詢列表數據是文字的數據.
exec sp_help [表名稱]
上面代碼是看資料庫表結構的,你看了表結構就知道 數據是什麼類型了。
『貳』 教您如何獲取SQL欄位默認值
sql server 中獲取SQL欄位默認值 ,獲取所有的默認值列表:select object_name(c.id) as 表名 ,c.name as 欄位名 ,t.name as 數據類型 ,c.prec as 長度 ,p.value as 欄位說明 ,m.text as 默認值 from syscolumns c inner join systypes t on c.xusertype=t.xusertype left join sysproperties p on c.id=p.id and c.colid = p.smallid left join syscomments m on c.cdefault=m.id 研究了很久 終於搞定了獲取單個SQL欄位默認值列表select object_name(c.id) as 表名 ,c.name as 欄位名 ,t.name as 數據類型 ,c.prec as 長度 ,p.value as 欄位說明 ,m.text as 默認值 from syscolumns c inner join systypes t on c.xusertype=t.xusertype left join sysproperties p on c.id=p.id and c.colid = p.smallid left join syscomments m on c.cdefault=m.id where objectproperty(c.id,'IsUserTable')=1 and object_name(c.id) = 'T_good' and c.name = 'ishot'
『叄』 sql插入語句,這個列表identity_insert為no時才能為表顯示值是什麼意思怎麼操作
提示不是提示的很清楚了,,,
肯定是你第一個欄位是自增欄位,才報這樣的提示的,,,要麼你可以不寫
那個什麼1,2,3,自增可以自動插入;
要麼就使用語句
setidentity_insert表名on
go
insertinto(欄位名1,欄位名2)(注意:這里必須寫欄位名,要不報錯)
values(xxxx)
『肆』 sql查詢資料庫中有某個值的所有表
1、首先在電腦中打開Microsoft SQL Server,查詢所有資料庫。
『伍』 values在資料庫中的解釋是什麼
在資料庫中 values 是關鍵字,作用大部分是取值的。語法 insert into。表名[列名列表]:values(值列表)。
例如向資料庫插入一條數據,定義sql語句如:insert into student (name,sex,address) values ('','男','beijing') ,就是使用value關鍵字。
在html中:
values 屬性為 input 元素設定值。
對於不同的輸入類型,values 屬性的用法也不同:
type="button","reset","submit" - 定義按鈕上的顯示的文本。
type="text","password","hidden" - 定義輸入欄位的初始值。
type="checkbox","radio","image" - 定義與輸入相關聯的值。
注釋:<input type="checkbox"> 和 <input type="radio"> 中必須設置 value 屬性。
注釋:value 屬性無法與 <input type="file"> 一同使用。
『陸』 sql語言中,各種數據類型代表的含義是什麼
(1)數值型
數值是諸如32 或153.4 這樣的值。MySQL 支持科學表示法,科學表示法由整數或浮點數後跟「e」或「E」、一個符號(「+」或「-」)和一個整數指數來表示。1.24E+12 和23.47e-1 都是合法的科學表示法表示的數。而1.24E12 不是合法的,因為指數前的符號未給出。
浮點數由整數部分、一個小數點和小數部分組成。整數部分和小數部分可以分別為空,但不能同時為空。
數值前可放一個負號「-」以表示負值。
(2)字元(串)型
字元型(也叫字元串型,簡稱串)是諸如「Hello, world!」或「一個饅頭引起的血案」這樣的值,或者是電話號碼87398413這樣的值。既可用單引號也可用雙引號將串值括起來。
初學者往往分不清數值87398143和字元串87398143的區別。都是數字啊,怎麼一個要用數值型,一個要用字元型呢?關鍵就在於:數值型的87398143是要參與計算的,比如它是金融中的一個貨款總額;而字元型的87398143是不參與計算的,只是表示電話號碼,這樣的還有街道號碼、門牌號碼等等,它們都不參與計算。
(3)日期和時間型
日期和時間是一些諸如「2006-07-12」或「12:30:43」這樣的值。MySQL還支持日期/時間的組合,如「2006-07-12 12:30:43」。
(4)NULL值
NULL表示未知值。比如填寫表格中通訊地址不清楚留空不填寫,這就是NULL值。
我們用Create Table語句創建一個表,這個表中包含列的定義。例如我們在前面創建了一個joke表,這個表中有content和writer兩個列:
定義一個列的語法如下:
其中列名由col_name 給出。列名可最多包含64個字元,字元包括字母、數字、下劃線及美元符號。列名可以名字中合法的任何符號(包括數字)開頭。但列名不能完全由數字組成,因為那樣可能使其與數據分不開。MySQL保留諸如SELECT、DELETE和CREATE這樣的詞,這些詞不能用做列名,但是函數名(如POS 和MIN)是可以使用的。
列類型col_type表示列可存儲的特定值。列類型說明符還能表示存放在列中的值的最大長度。對於某些類型,可用一個數值明確地說明其長度。而另外一些值,其長度由類型名蘊含。例如,CHAR(10) 明確指定了10個字元的長度,而TINYBLOB值隱含最大長度為255個字元。有的類型說明符允許指定最大的顯示寬度(即顯示值時使用多少個字元)。浮點類型允許指定小數位數,所以能控制浮點數的精度值為多少。
可以在列類型之後指定可選的類型說明屬性,以及指定更多的常見屬性。屬性起修飾類型的作用,並更改其處理列值的方式,屬性有以下類型:
(1)專用屬性用於指定列。例如,UNSIGNED 屬性只針對整型,而BINARY屬性只用於CHAR 和VARCHAR。
(2)通用屬性除少數列之外可用於任意列。可以指定NULL 或NOT NULL 以表示某個列是否能夠存放NULL。還可以用DEFAULT,def_value 來表示在創建一個新行但未明確給出該列的值時,該列可賦予值def_value。def_value 必須為一個常量;它不能是表達式,也不能引用其他列。不能對BLOB 或TEXT 列指定預設值。
如果想給出多個列的專用屬性,可按任意順序指定它們,只要它們跟在列類型之後、通用屬性之前即可。類似地,如果需要給出多個通用屬性,也可按任意順序給出它們,只要將它們放在列類型和可能給出的列專用屬性之後即可。
2. MySQL的列(欄位)類型
資料庫中的每個表都是由一個或多個列(欄位)構成的。在用CREATE TABLE語句創建一個表時,要為每列(欄位)指定一個類型。列(欄位)的類型比數據類型更為細化,它精確地描述了給定表列(欄位)可能包含的值的種類,如是否帶小數、是否文字很多。
MySQL有整數和浮點數值的列類型,如表1所示。整數列類型可以有符號也可無符號。有一種特殊的屬性允許整數列值自動生成,這對需要唯一序列或標識號的應用系統來說是非常有用的。
類型 說明
TINYINT 非常小的整數
SMALLINT 較小整數
MEDIUMINT 中等大小整數
INT 標准整數
BIGINT 較大整數
FLOAT 單精度浮點數
DOUBLE 雙精度浮點數
DECIMAL 一個串的浮點數
表1:數值列類型
每種數值類型的名稱和取值范圍如表2所示。
類型說明 取值范圍
TINYINT[(M)] 有符號值:-128 到127
無符號值:0到255(0 到28 - 1)
SMALLINT[(M)] 有符號值:-32768 到32767(- 215 到215 - 1)
無符號值:0到65535(0 到21 6 - 1)
MEDIUMINT[(M)] 有符號值:-8388608 到8388607(- 22 3 到22 3 - 1 )
無符號值:0到16777215(0 到22 4 - 1)
INT[(M)] 有符號值:-2147683648 到2147683647(- 231 到231- 1)
無符號值:0到4294967295(0 到232-1)
BIGINT[(M)] 有符號值:-9223372036854775808 到 9223373036854775807(- 263到263-1)
無符號值:0到18446744073709551615(0到264 – 1)
FLOAT[(M, D)] 最小非零值:±1.175494351E - 38
DOUBLE[(M,D)] 最小非零值:±2.2250738585072014E - 308
DECIMAL (M, D) 可變;其值的范圍依賴於M 和D
表2:數值列類型的取值范圍
類型說明 存儲需求
TINYINT[(M)] 1位元組
SMALLINT[(M)] 2位元組
MEDIUMINT[(M)] 3位元組
INT[(M)] 4位元組
BIGINT[(M)] 8位元組
FLOAT[(M, D)] 4位元組
DOUBLE[(M, D)] 8位元組
DECIMAL (M, D) M位元組(MySQL < 3.23),M+2位元組(MySQL > 3.23 )
表3:數值列類型的存儲需求
MySQL提供了五種整型: TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT。INT為INTEGER的縮寫。這些類型在可表示的取值范圍上是不同的。整數列可定義為UNSIGNED從而禁用負值;這使列的取值范圍為0以上。各種類型的存儲量需求也是不同的。取值范圍較大的類型所需的存儲量較大。
MySQL 提供三種浮點類型: FLOAT、DOUBLE和DECIMAL。與整型不同,浮點類型不能是UNSIGNED的,其取值范圍也與整型不同,這種不同不僅在於這些類型有最大值,而且還有最小非零值。最小值提供了相應類型精度的一種度量,這對於記錄科學數據來說是非常重要的(當然,也有負的最大和最小值)。
在選擇了某種數值類型時,應該考慮所要表示的值的范圍,只需選擇能覆蓋要取值的范圍的最小類型即可。選擇較大類型會對空間造成浪費,使表不必要地增大,處理起來沒有選擇較小類型那樣有效。對於整型值,如果數據取值范圍較小,如人員年齡或兄弟姐妹數,則TINYINT最合適。MEDIUMINT能夠表示數百萬的值並且可用於更多類型的值,但存儲代價較大。BIGINT在全部整型中取值范圍最大,而且需要的存儲空間是表示範圍次大的整型INT類型的兩倍,因此只在確實需要時才用。對於浮點值,DOUBLE佔用FLOAT的兩倍空間。除非特別需要高精度或范圍極大的值,一般應使用只用一半存儲代價的FLOAT型來表示數據。
在定義整型列時,可以指定可選的顯示尺寸M。如果這樣,M應該是一個1 到255的整數。它表示用來顯示列中值的字元數。例如,MEDIUMINT(4)指定了一個具有4個字元顯示寬度的MEDIUMINT列。如果定義了一個沒有明確寬度的整數列,將會自動分配給它一個預設的寬度。預設值為每種類型的「最長」值的長度。如果某個特定值的可列印表示需要不止M個字元,則顯示完全的值;不會將值截斷以適合M個字元。
對每種浮點類型,可指定一個最大的顯示尺寸M 和小數位數D。M 的值應該取1 到255。D的值可為0 到3 0,但是不應大於M - 2(如果熟悉ODBC 術語,就會知道M 和D 對應於ODBC 概念的「精度」和「小數點位數」)。M和D對FLOAT和DOUBLE 都是可選的,但對於DECIMAL是必須的。在選項M 和D時,如果省略了它們,則使用預設值。
2.2字元串列類型
MySQL提供了幾種存放字元數據的串類型,其類型如下:
類型名 說明
CHAR 定長字元串
VARCHAR 可變長字元串
TINYBLOB 非常小的BLOB(二進制大對象)
BLOB 小BLOB
MEDIUMBLOB 中等的BLOB
LONGBLOB 大BLOB
TINYTEXT 非常小的文本串
TEXT 小文本串
MEDIUMTEXT 中等文本串
LONGTEXT 大文本串
ENUM 枚舉;列可賦予某個枚舉成員
SET 集合;列可賦予多個集合成員
表4:字元串列類型
下表給出了MySQL 定義串值列的類型,以及每種類型的最大尺寸和存儲需求。對於可變長的列類型,各行的值所佔的存儲量是不同的,這取決於實際存放在列中的值的長度。這個長度在表中用L 表示。
類型說明
最大尺寸
存儲需求
CHAR( M)
M 位元組
M 位元組
VARCHAR(M)
M 位元組
L + 1位元組
TINYBLOB, TINYTEXT
28- 1位元組
L + 1位元組
BLOB, TEXT
216 - 1 位元組
L + 2位元組
MEDIUMBLOB, MEDIUMTEXT
224- 1位元組
L + 3位元組
LONGBLOB, LONGTEXT
232- 1位元組
L + 4位元組
ENUM(「value1」, 「value2」, ...)
65535 個成員
1 或2位元組
SET (「value1」, 「value2」, ...)
64個成員
1、2、3、4 或8位元組
表5:串列類型最大尺寸及存儲需求
L 以外所需的額外位元組為存放該值的長度所需的位元組數。MySQL 通過存儲值的內容及其長度來處理可變長度的值。這些額外的位元組是無符號整數。請注意,可變長類型的最大長度、此類型所需的額外位元組數以及佔用相同位元組數的無符號整數之間的對應關系。例如,MEDIUMBLOB 值可能最多224 - 1位元組長並需要3 個位元組記錄其結果。3 個位元組的整數類型MEDIUMINT 的最大無符號值為224 - 1。這並非偶然。
2.3日期時間列類型
MySQL 提供了幾種時間值的列類型,它們分別是: DATE、DATETIME、TIME、TIMESTAMP和YEAR。下表給出了MySQL 為定義存儲日期和時間值所提供的這些類型,並給出了每種類型的合法取值范圍。
類型名 說明
DATE 「YYYY-MM-DD」格式表示的日期值
TIME 「hh:mm:ss」格式表示的時間值
DATETIME 「YYYY-MM-DD hh:mm:ss」格式
TIMESTAMP 「YYYYMMDDhhmmss」格式表示的時間戳值
YEAR 「YYYY」格式的年份值
表6:日期時間列類型
下面舉個例子:
這個例子創建一個student表,這個表中有name欄位,字元類型列,不允許NULL(空值)。有Chinese、Maths和English三個整數類型列。還有個Birthday日期類型列。
CREATE TABLE student
(
Name varchar(20) NOT NULL,
Chinese TINYINT(3),
Maths TINYINT(3),
English TINYINT(3),
Birthday DATE
)
『柒』 如何使帶值參數的SQL表函數返回值列表的關聯表
使用union或者union all來合並兩個結果集
不過要求這兩個結果集必須有相同列
select a,b from F(X) union select a,b from A
union 和union all的區別是 如果兩個結果集中有重復的union會去掉重復值,而union all 不會
『捌』 SQL中values什麼意思做什麼的作用是什麼
簡單來說,是多條sql集合,並要求集合中的sql全部成功執行,不然就全部不執行..當然,與簡單的多條sql還是有一點區別的。應用例子:銀行轉賬,要求一個賬戶減少,另一個賬戶增加,不能這邊減少了那邊沒有增加..這就需要用到存儲過程。
拓展:
1、SQL語言,是結構化查詢語言(StructuredQueryLanguage)的簡稱。SQL語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。
2、SQL語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統可以使用相同的結構化查詢語言作為數據輸入與管理的介面。SQL語言語句可以嵌套,這使他具有極大的靈活性和強大的功能。
『玖』 sql基本命令都是什麼含義,求列表解釋
--SQL基本命令
--數據定義語言
Create(創建)
Alter(更改)
Drop(刪除)
--數據操縱語言
Insert(插入)
select(選擇)
delete(刪除)
update(更新)
--事務控制語言
commit(提交)
savepoint(保存點)
rollback(回滾)
--數據控制語言
Grant(授權)
Revoke(回收)
--Orcale數據類型
--字元數據類型
char這種數據類型的列長度可以是1到2000個位元組。
varchar2該數據類型的大小在1-4000個位元組范圍內
long這種數據類型可存儲最大2GB。
--數值數據類型
number數據類型可以存儲正數、負數、零、定點數和精度為38位的浮點數。
--日期時間數據類型
date數據類型使用七個位元組固定長度,每個位元組分別存儲世紀、年、月、日、小時、分和秒。從4712年1月1日到公元9999年12月13日。
Timestamp數據類型用於存儲日期的年、月、日以及時間的小時、分和秒值。秒值是精確到小數點後6位。該數據類型還包括了時區信息。
--Raw和LongRaw數據類型
Raw數據類型
Raw數據類型用於存儲基於位元組的數據。如二進制數據或位元組串,該數據類型最多能存儲2000個位元組。
LongRaw數據類型用於存儲可變長度的二進制數據,最多能存儲2GB。(該數據不能使用索引,long受到的所有限制對longraw數據類型同樣有效)
--LOB數據類型
Clob數據類型能夠存儲大量字元數據。該數據類型可以存儲單位元組數據和多位元組字元數據。clob可用於存儲非結構化的XML文檔。
Blob數據類型可以存儲較大的二進制對象,如圖形、視頻剪輯和聲音剪輯等。
Bfile數據類型能夠將二進制文件存儲二進制文件存儲在資料庫外部的操作系統文件中。Bfile列存存儲一個Bfile定位器。它指向位於伺服器文件系統上的二進制文件。支持的文件最大為4GB。
--查看指定偽列用戶(scott)
select rowid,ename,comm from emp where sal=1500
--查看偽列數
select * from emp where rownum<2
--數據定義語言
create table (需要創建的表)
alter table (需要更改的表)
truncate table (需要截斷的表)
drop table (需要刪除的表)
--create table保命令
create table [所有者即模式的名稱,如果用戶在自己的模式中創建表,則可以不指定所有者名稱。][需要創建的表名]
([列的名稱] [數據類型及長度]);
--例子(在當前用戶下創建了一張名為(Cool)的表,里有有三個列分別是:Cool_ID、Cool_Name、Cool_like):
create table Cool(
Cool_ID number,
Cool_Name varchar(20),
Cool_like varchar(30));
--在表中插入數據
insert into Cool values(8850,'酷兒','編寫Java應用程序');
insert into Cool values(8851,'酷兒','編寫Java應用程序1');
insert into Cool values(8852,'酷兒','編寫Java應用程序2');
insert into Cool values(8853,'酷兒','編寫Java應用程序3');
insert into Cool values(8854,'酷兒','編寫Java應用程序4');
insert into Cool values(8856,'酷兒','編寫Java應用程序5');
insert into Cool values(8855,'酷兒','編寫Java應用程序6');
--alter table命令
alter table [需要更改的表命稱] [模式(modify=更改,add=添加,drop=刪除)] (表中的列名)
--例子
--更改表中Cool_like列數據長度更改為15
alter table cool modify (cool_name varchar(15));
--插入數據進行測試第一條數據可以順利插入到列中,而第二條數據則不能插入列數,應為它的長度己超過了15個字元。(執行結果為:Error位於第一行:ora-01401:插入數據值對於列過大);
insert into Cool values(8855,'酷兒Test','編寫Java應用程序、游戲等等。');
insert into Cool values(8855,'測試用戶名,此列長度將超過15個字元。','編寫Java應用程序、游戲等等。');
--在表中添加一個列,在表中添加一個Cool_Tel來存儲電話號碼。
alter table Cool add (Cool_Tel varchar(12));
insert into Cool values(8856,'酷兒8856','編寫Java應用程序','13529424360');
--在表中刪除Cool_Tel列;
alter table cool drop column cool_tel;
--Truncate table命令
--刪除表中的記錄而不刪除列,此方法不能回滾因為它不使用事務處理。(優點:刪除速度快)
truncate table cool;(執行結果:表己截斷)
--desc查看cool表的結構
desc cool;
--drop table命令
--刪除Cool表。此方法可以使用事務回滾。
drop table cool;
--數據操縱語言
--選擇命令(Select)
select * from emp;(查詢表中所有數據)
select * from emp where ename='adams';(按條件查詢表中數據)
select distinct * from emp;(不選擇表中的重復行,使用distinct關鍵字);
select * from cool where cool_name='酷兒' order by cool_id asc;(按Coo_ID進行升序排序)
select * from cool where cool_name='酷兒' order by cool_id desc;(按Coo_ID進行降序排序)
create table CoolDemo as select * from cool;(用現有表Cool創建一個新表,數據包括在select語包里,可以是所有,也可以是指定的列)
create table CoolDemo2 as select * from cool where 1 = 2;(此條件不成立,所有隻創建了表結構,沒有數據)
select cool_id+10 sum ,cool_name from cool;(此條語句使用了別名sum並且是cool_id+10語後的值,但原始值不會改變。)
--插入命令(Insert)
insert into cool values(8857,'酷兒','編寫Java應用程序');(在Cool表中插入數據)
insert into cool(cool_name,cool_like) values('酷兒','編寫Java應用程序null');(只插入姓名列(cool_name)和愛好列(cool_like)的值)
insert into cool values(8858,'酷兒',null);(在cool表中跳過了cool_like列,使用空值來填充)
alter table cool add(cool_date date);(在表中添加一個日期列,以便下面插入日期值)
insert into cool values(8859,'酷兒','編寫Java應用程序8859','22-11月-06');(此條語句在Cool表中cool_date列插入了2006年11月12日的日期)
insert into cool select * from cooldemo;(此條語句插入了來自期它表的數據)
--更新命令(Update)
update cool set cool_name='酷兒至酷' where cool_name='酷兒';(如果cool_name列的值等於(酷兒)那麼就將它更改為(酷兒至酷),這是有條件的查詢)
update cool set cool_name='酷兒';(此條語句將cool_name列的所有值更改為(酷兒))
--刪除命令(delete)
delete cool where cool_like='編寫Java應用程序null';(如果cool表中cool_like列值等於(編寫Java應用程序null)就刪除它)
--提交命令(Commit)
commit;(提交事務)
commit work;(功能同上)
--標記命令(SavePoint)
savepoint savepoint_id;(它用來標記事務中可以應用回滾的點。)
--回滾事務(RollBack)
rollback;
rollback work;
rollback to savepoint [自己標記的記錄點];
--數據控制語言
--授權命令(Grant)
Grant [操作許可權如:select,update,delete等] on [表名稱] to [用戶名]
grant select,update,delete on cool to hedong911;(此條語句授權給用戶hedong911查詢、更新、刪除cool表的權力)
grant update(cool_id,cool_name) on cool to hedong911;(此條語句授權給用戶hedong911更新cool表(cool_id,cool_name)列權力)
grant select on cool to hedong911 with grant option;(此語句授權的用戶hedong911可以給其它用戶授權)
--回收授權命令(revoke)
revoke select,update,delete on cool to hedong911;(此條語句回收了hedong911的查詢、更新、刪除權力)
--算術操作符
(跳過)
--比較操作符
--比較操作符包括(=、!=、<、>、<=、>=、between……and(檢查是否在兩個值之間)、in(與列表中的值相匹配)、like(匹配字元模式)和is null(檢查是否為空),最後四個操作符還可以和not(非)一起使用如:not between……and等
select * from cool where cool_name!='1';
select * from cool where cool_name like '酷兒';
select * from cool where cool_id < 8853;
select * from cool where cool_id > 8853;
select * from cool where cool_id <= 8853;
select * from cool where cool_id >= 8853;
select * from cool where cool_like in ('編寫Java應用程序');
--邏輯操作符
--邏輯操作符包括and(與)、or(或)和now(非);
select * from cool where cool_id <=8856 and cool_id >= 8853;
select * from cool where cool_id =9999 or cool_like in ('編寫Java應用程序');
--集合操作符
--聯合查詢(union)
select * from cool union select * from cooldemo;(此條語句將Cool和CoolDemo兩張表的查詢結果合拼,並刪除重復行)
--聯合所有查詢(union all)
select * from cool union all select * from cooldemo;(此條語句將Cool和CoolDemo兩張表的查詢結果合拼,不刪除重復行)
--交集查詢(intersect)
select * from cool intersect select * from cooldemo;(此條語句查詢兩張表都有的行)
--減集查詢(minus)
select * from cool minus select * from cooldemo;(此條語句返回第二張表沒有的數據)
--連接(||)操作符
select ('用戶編號:'||cool_id||'姓名是:'||cool_name||'愛好是:'||cool_like||'日期是:'||cool_date) from cool where cool_id=8859;(運行結果:用戶編號:8859姓名是:酷兒愛好是:編寫Java應用程序8859日期是:22-11月-06)
『拾』 在資料庫中添加一行的SQL語句怎麼寫
在資料庫中添加一行的SQL語句寫法的步驟如下:
我們需要准備的材料分別是:電腦、sql查詢器。
1、首先,打開sql查詢器,連接上相應的資料庫表,以stu2表添加一行數據為例。