⑴ php中sql語句中如何使用變數
外面的引號要用雙引號,但$biao就得用``來引起來,或者不用,即:
$result=mysql_query("select * from `$biao`");
或者
$result=mysql_query("select * from $biao");
這兩種都可以。
⑵ 請教:SQL 腳本編寫: 創建兩個整型變數,將他們的值分別設置為2和4,然後輸出這兩個變數的和 謝謝!
代碼如下:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 10;
int b = 20;
int c = 0;
printf("a = %d b = %d ", a, b);
c = a;
a = b;
b = c;
printf("a = %d b = %d ", a, b);
system("pause");
return 0;
}
(2)sql可以使用兩種變數擴展閱讀
SQL的整數型數據包括bigint型、int型、bit、smallint型和tinyint型。
bigint型數據的存儲大小為8個位元組,共64位。其中63位用於表示數值的大小,1位用於表示符號。bigint型數據可以存儲的數值范圍是-263~263-1,即 -9 223 372 036 854 775 808 ~9 223 372 036 854 775 807。
在應用中除非明確說明,否則那些接受int表達式作為其參數的函數、語句和系統存儲過程都不會改變,從而不會支持將 bigint表達式隱式轉換為這些參數。因此,當 bigint值在int數據類型支持的范圍內時,SQL Server 才將 bigint隱式轉換為int。
如果 bigint表達式包含了一個在int數據類型支持范圍之外的值,就會在運行時出現轉換錯誤。
⑶ pl/sql變數的使用
定義並使用變數
PL/SQL有四種類型:標量類型,復合類型,引用類型 (reference),LOB(Large Obejct)類型
一、標量類型
最常用的就是標量類型,是指只能存放單個數值的變數,包括數字類型、字元類型、日期類型和布爾類型,每種類型又包含相應的子類型。
常量標量類型如下:
VARCHAR2 (n) , CHAR (n), NUMBER (p,s),DATE, TIMESTAMP , LONG , LONG RAW ,BOOLEAN,BINARY_INTEGER(僅 PL / SQL使用),BINARY_FLOAT和BINARY_DOUBLE(10g新引入的)
定義標量:
identifier [CONSTANT] datatype [NOT NULL] [:=| DEFAULT expr]
使用標量需要注意的是=號被:=取代,與delphi一樣的賦值符號@_@
例子:
v_name VARCHAR2 ( 10 );
v_rate CONSTANTS NUMBER ( 4 , 2 ) : = 3.04 ;
為了防止定義的變數類型與表中的欄位類型不一致,可以使用%TYPE來定義:
v_name employee.name % TYPE;
如上面所示,v_name的類型就與表 employee中的name欄位類型一樣!!
二、復合變數:
用於存放多個值的變數稱為復合變數,包括PL/SQL記錄,PL/SQL表,嵌套表和VARRAY四種類型
1.PL/SQL記錄
類似於C/C++中的結構概念:
declare
TYPE employee_record is RECORD(
id employee.id % TYPE,
name employee.name % TYPE,
email employee.email % TYPE);
em_record employee_record;
begin
select id,name,email into em_record from employee where name =& name;
dbms_output.put_line( ' 雇員名: ' || em_record.name || ' 雇員ID: ' || em_record.id);
end ;
2.PL/SQL表,類似於數組概念,不同的是PL/SQL表允許負值下標,而且沒有上下限,如:
declare
TYPE employee_table is table of employee.name % TYPE index by BINaRY_INTEGER;
em_table employee_table;
begin
select name into em_table( - 1 ) from employee where name =& name;
dbms_output.put_line( ' 雇員名: ' || em_table( - 1 ));
end ;
3.嵌套表,與PL/SQL 表相似,不同的是嵌套表可以做表列的數據類型,而PL/SQL表不能,使用嵌套表作為表列時,必須為其指定專門的存儲表,如:
create or replace TYPE emp_type as OBJECT(name VARCHAR2 ( 10 ),salary NUMBER ( 6 , 2 ),hiredate DATE);
CREATE OR REPLACE TYPE emp_array IS TABLE OF emp_type;
CREATE TABLE department(
deptno NUMBER ( 2 ),dname VARCHAR2 ( 10 ),
employee emp_array)NESTED TABLE employee STORE as employee_dept;
4.VARRAY(變長數組),與嵌套表相似,也可以做為表列的數據類型,但是嵌套表沒有個數限制,而VARRAY有個數限制,如:
CREATE TYPE TEST_ARRAY IS VARRAY(20) OF emp_type;
三、引用變數(reference)
類似於C++中的指針或者JAVA中引用的概念,用於存放數值指針的變數,使用此變數,可以使得應用程序共享相同對象,降低佔用空間。此類有兩種類型:游標(REF CURSOR)和對象類型(REF OBJECT)
1.REF CURSOR,定義時同時指定SELECT語句的游標稱為顯式或者靜態游標,在打開時才指定SELECT語句的游標稱為動態游標,如:
DECLARE
TYPE c1 IS REF CURSOR ;
emp_cursor c1;
v_name employee.name % TYPE;
v_sal employee.salary % TYPE;
begin
open emp_cursor for
SELECT name,salary FROM EMPLOYEE ;
LOOP
FETCH emp_cursor INTO v_name,v_sal;
EXIT WHEN emp_cursor % NOTFOUND;
dbms_output.put_line(v_name);
END LOOP;
close emp_cursor;
end ;
2.REF OBJECT,與JAVA的引用概念相同,存儲的是指向對象的指針
四、LOB類型
LOB類型是指用於存儲大批量數據的變數,包括內部的3種(CLOB,BLOB,NCLOB)和外部LOB(BFILE)。
CLOB,NCLOB用於存儲大量的字元數據。
BLOB用於存儲大批量二進制數據(如圖象)。
BFILE則存儲指向OS文件的指針。
滿意請採納。
⑷ SQL 中有哪幾種類型的變數,各自有什麼特點。
bit
整型
bit 數據類型是整型,其值只能是0、1或空值。這種數據類型用於存儲只有兩種可能值的數據,如Yes 或No、True 或Fa lse 、On 或Off
int
整型
int 數據類型可以存儲從- 231(-2147483648)到231(2147483 647)之間的整數。存儲到資料庫的幾乎所有數值型的數據都可以用這種數據類型。這種數據類型在資料庫里佔用4個位元組
smallint
整型
smallint 數據類型可以存儲從- 215(-32768)到215(32767)之間的整數。這種數據類型對存儲一些常限定在特定范圍內的數值型數據非常有用。這種數據類型在資料庫里佔用2 位元組空間
tinyint
整型
tinyint 數據類型能存儲從0到255 之間的整數。它在你只打算存儲有限數目的數值時很有用。 這種數據類型在資料庫中佔用1 個位元組
numeric
精確數值型
numeric數據類型與decimal 型相同
decimal
精確數值型
decimal 數據類型能用來存儲從-1038-1到1038-1的固定精度和范圍的數值型數據。使用這種數據類型時,必須指定范圍和精度。 范圍是小數點左右所能存儲的數字的總位數。精度是小數點右邊存儲的數字的位數
money
貨幣型
money 數據類型用來表示錢和貨幣值。這種數據類型能存儲從-9220億到9220 億之間的數據,精確到貨幣單位的萬分之一
smallmoney
貨幣型
smallmoney 數據類型用來表示錢和貨幣值。這種數據類型能存儲從-214748.3648 到214748.3647 之間的數據,精確到貨幣單位的萬分之一
float
近似數值型
float 數據類型是一種近似數值類型,供浮點數使用。說浮點數是近似的,是因為在其范圍內不是所有的數都能精確表示。浮點數可以是從-1.79E+308到1.79E+308 之間的任意數
real
近似數值型
real 數據類型像浮點數一樣,是近似數值類型。它可以表示數值在-3.40E+38到3.40E+38之間的浮點數
datetime
日期時間型
datetime數據類型用來表示日期和時間。這種數據類型存儲從1753年1月1日到9999年12月3 1日間所有的日期和時間數據, 精確到三百分之一秒或3.33毫秒
Smalldatetime
日期時間型
smalldatetime 數據類型用來表示從1900年1月1日到2079年6月6日間的日期和時間,精確到一分鍾
cursor
特殊數據型
cursor 數據類型是一種特殊的數據類型,它包含一個對游標的引用。這種數據類型用在存儲過程中,而且創建表時不能用
timestamp
特殊數據型
timestamp 數據類型是一種特殊的數據類型,用來創建一個資料庫范圍內的唯一數碼。 一個表中只能有一個timestamp列。每次插入或修改一行時,timestamp列的值都會改變。盡管它的名字中有「time」, 但timestamp列不是人們可識別的日期。在一個資料庫里,timestamp值是唯一的
Uniqueidentifier
特殊數據型
Uniqueidentifier數據類型用來存儲一個全局唯一標識符,即GUID。GUID確實是全局唯一的。這個數幾乎沒有機會在另一個系統中被重建。可以使用NEWID 函數或轉換一個字元串為唯一標識符來初始化具有唯一標識符的列
char
字元型
char數據類型用來存儲指定長度的定長非統一編碼型的數據。當定義一列為此類型時,你必須指定列長。當你總能知道要存儲的數據的長度時,此數據類型很有用。例如,當你按郵政編碼加4個字元格式來存儲數據時,你知道總要用到10個字元。此數據類型的列寬最大為8000 個字元
varchar
字元型
varchar數據類型,同char類型一樣,用來存儲非統一編碼型字元數據。與char 型不一樣,此數據類型為變長。當定義一列為該數據類型時,你要指定該列的最大長度。 它與char數據類型最大的區別是,存儲的長度不是列長,而是數據的長度
text
字元型
text 數據類型用來存儲大量的非統一編碼型字元數據。這種數據類型最多可以有231-1或20億個字元
nchar
統一編碼字元型
nchar 數據類型用來存儲定長統一編碼字元型數據。統一編碼用雙位元組結構來存儲每個字元,而不是用單位元組(普通文本中的情況)。它允許大量的擴展字元。此數據類型能存儲4000種字元,使用的位元組空間上增加了一倍
nvarchar
統一編碼字元型
nvarchar 數據類型用作變長的統一編碼字元型數據。此數據類型能存儲4000種字元,使用的位元組空間增加了一倍
ntext
統一編碼字元型
ntext 數據類型用來存儲大量的統一編碼字元型數據。這種數據類型能存儲230 -1或將近10億個字元,且使用的位元組空間增加了一倍
binary
二進制數據類型
binary數據類型用來存儲可達8000 位元組長的定長的二進制數據。當輸入表的內容接近相同的長度時,你應該使用這種數據類型
varbinary
二進制數據類型
varbinary 數據類型用來存儲可達8000 位元組長的變長的二進制數據。當輸入表的內容大小可變時,你應該使用這種數據類型
image
二進制數據類型
image 數據類型用來存儲變長的二進制數據,最大可達231-1或大約20億位元組
⑸ SQL模糊查詢Like語句中可以用變數嗎
sql的模糊查詢like字句是可以的使用變數的,具體操作步驟如下:
1、首先我們需要在資料庫中准備演示數據。
⑹ transact-sql支持的變數有幾種分別用什麼前綴來標識
變數只有2種
全局變數:又稱系統變數,格式為@@變數名
自定義變數:即用戶變數,格式為@變數名
⑺ sql添加語句中添加兩個變數,想要添加變數的值而不是變數名 應該怎麼寫。
insert into p1(title,comment) values('標題','評論')
sql語法
declare @title varchar(100),@comment varchar(500)
select @title='標題',@comment='評論'
insert into p1(title,comment) values(@title,@comment)
⑻ sql insert語句中如何使用變數
sql insert語句中使用變數:
(insert)向表中添加一個新記錄,要使用SQL INSERT 語句。這里有一個如何使用這種語句的例子: INSERT mytable (mycolumn) VALUES (『some data') 這個語句把字元串'some data'插入表mytable的mycolumn欄位中。將要被插入數據的欄位的名字在第一個括弧中指定,實際的數據在第二個括弧中給出。
INSERT 語句的完整句法如下:INSERT [INTO] {table_name|view_name} [(column_list)] {DEFAULT VALUES |
Values_list | select_statement}
如果一個表有多個欄位,通過把欄位名和欄位值用逗號隔開,可以向所有的欄位中插入數據。假設表mytable有三個欄位first_column,second_column,和third_column.下面的INSERT語句添加了一條三個欄位都有值的完整記錄:INSERT mytable (first_column,second_column,third_column)
VALUES (『some data','some more data','yet more data')
可以使用INSERT語句向文本型欄位中插入數據。但是,如果需要輸入很長的字元串,應該使用WRITETEXT語句。
如果在INSERT 語句中只指定兩個欄位和數據。向一個表中插入一條新記錄,但有一個欄位沒有提供數據。在這種情況下,有下面的四種可能:
1)如果該欄位有一個預設值,該值會被使用。例如,假設插入新記錄時沒有給欄位third_column提供數據,而這個欄位有一個預設值'some value'.在這種情況下,當新記錄建立時會插入值'some value'。
2)如果該欄位可以接受空值,而且沒有預設值,則會被插入空值。
3)如果該欄位不能接受空值,而且沒有預設值,就會出現錯誤。會收到錯誤信息:The column in table mytable may not be null.
4)最後,如果該欄位是一個標識欄位,那麼它會自動產生一個新值。當向一個有標識欄位的表中插入新記錄時,只要忽略該欄位,標識欄位會給自己賦一個新值。
註:向一個有標識欄位的表中插入新記錄後,可以用SQL變數@@identity來訪問新記錄 的標識欄位的值。考慮如下的SQL語句:
INSERT mytable (first_column) VALUES(『some value')
INSERT anothertable(another_first,another_second)
VALUES(@@identity,'some value')
如果表mytable有一個標識欄位,該欄位的值會被插入表anothertable的another_first欄位。這是因為變數@@identity總是保存最後一次插入標識欄位的值。
欄位another_first應該與欄位first_column有相同的數據類型。但是,欄位another_first不能是應該標識欄位。Another_first欄位用來保存欄位first_column的值。
⑼ sql語言中變數可分為哪兩種
一般變數
局部變數
全局變數
系統變數
⑽ SQL語句中如何增加兩個變數
出來問問題,態度還不老實,可笑!