用select...into語句
創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設、網(wǎng)站重做改版、鶴壁網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5響應式網(wǎng)站、成都做商城網(wǎng)站、集團公司官網(wǎng)建設、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為鶴壁等各大城市提供網(wǎng)站開發(fā)制作服務。
下面是mysql 5.0的幫助文檔的:
這個SELECT語法把選定的列直接存儲到變量。因此,只有單一的行可以被取回。
SELECT id,data INTO x,y FROM test.t1 LIMIT 1;
注意,用戶變量名在MySQL 5.1中是對大小寫不敏感的。請參閱9.3節(jié),“用戶變量”。
重要: SQL變量名不能和列名一樣。如果SELECT ... INTO這樣的SQL語句包含一個對列的參考,并包含一個與列相同名字的局部變量,MySQL當前把參考解釋為一個變量的名字。例如,在下面的語句中,xname 被解釋為到xname variable 的參考而不是到xname column的:
CREATE PROCEDURE sp1 (x VARCHAR(5))
BEGIN
DECLARE xname VARCHAR(5) DEFAULT 'bob';
DECLARE newname VARCHAR(5);
DECLARE xid INT;
SELECT xname,id INTO newname,xid
FROM table1 WHERE xname = xname;
SELECT newname;
END;
當這個程序被調(diào)用的時候,無論table.xname列的值是什么,變量newname將返回值‘bob’。
先加一新字段再賦值:
alter table table_name add mmm? varchar2(10);
update table_name set mmm=** ;
或:
alter table table1 add col1 int default 0
CASE WHEN account_id= ''
THEN 'empty'
when account_id is null
then 'empty'
ELSE account_id
END
WHERE account_id = 'XXX' OR account_id ='' OR (account_id is NULL)[/code]
擴展資料:
SQL有兩種使用方式。一是聯(lián)機交互使用,這種方式下的SQL實際上是作為自含型語言使用的。另一種方式是嵌入到某種高級程序設計語言(如C語言等)中去使用。前一種方式適合于非計算機專業(yè)人員使用,后一種方式適合于專業(yè)計算機人員使用。盡管使用方式不向,但所用語言的語法結(jié)構(gòu)基本上是一致的。
參考資料來源:百度百科-結(jié)構(gòu)化查詢語言
沒有辦法,只能通過其它字處理軟件,或者EXCEL來一次性快速生成
update table1 set x='xxx' where id=123;
DECLARE PRIMARY_KEY VARCHAR(100);
SET PRIMARY_KEY = group_concat(NEW.USER_ID,NEW.ROLE_NAME);
查詢語句是這樣寫的:
select group_concat(NEW.USER_ID,NEW.ROLE_NAME)from NEW where 條件;
SELECT group_concat(NEW.USER_ID,NEW.ROLE_NAME separator '連接字符') FROM NEW where 條件;
DELIMITER?$$
USE?`test`$$
DROP?PROCEDURE?IF?EXISTS?`p_getAllTablesCount`$$
CREATE?DEFINER=`root`@`localhost`?PROCEDURE?`p_getAllTablesCount`()
BEGIN
DECLARE?tableName?VARCHAR?(100);
DECLARE?tablesn?VARCHAR?(100);
DECLARE?tableCount?INT;
DECLARE?stopFlag?INT;
DECLARE?sqlStr?VARCHAR(1000);
--?注意:請修改數(shù)據(jù)庫名稱
DECLARE?cursor_name?CURSOR??FOR?SELECT?TABLE_NAME??FROM?information_schema.tables?WHERE?table_schema='test';
DECLARE?CONTINUE?HANDLER?FOR?SQLSTATE?'02000'??SET?stopFlag=1;
CREATE?TABLE?IF?NOT?EXISTS?temp_table(table_name?VARCHAR(100),table_count?VARCHAR(100));???
OPEN?cursor_name;
REPEAT
FETCH?cursor_name?INTO?tableName;
SET?sqlStr?=?CONCAT('SELECT?COUNT(1)?into?@tableCount?FROM?',?tableName);
SELECT?sqlStr?INTO?@sqlStr;
--?select??@sqlStr;
SELECT?@tableCount?INTO?tableCount;
BEGIN
PREPARE?stepInsertIntoTable?FROM?@sqlStr;
EXECUTE?stepInsertIntoTable;
END;
SET?sqlStr?=?CONCAT('insert?into??temp_table?values(''',CONCAT(tableName),''',''',CONCAT(tableCount),''');');
SELECT?sqlStr?INTO?@sqlStr;
BEGIN
PREPARE?stepInsertIntoTable?FROM?@sqlStr;
EXECUTE?stepInsertIntoTable;
END;
UNTIL?stopFlag??END?REPEAT;
CLOSE?cursor_name;???
SELECT?table_name,table_count?FROM?temp_table?ORDER?BY?table_count?DESC;
--?PREPARE?step?FROM?@sql1;
--?EXECUTE?step;
DROP?TABLE??temp_table;
END$$
DELIMITER?;