① 如何用sql語句循環執行語句
SQL語句無法實現循環,只能通過程序或者存儲過程來實現。
如果只是一次性工作,則建議直接用EXCEL的公式手批量生成SQL語句 然後一次性貼到MYSQL的命令行工具中執行即可。
S1 : 創建一個模板表 create table t (id int, col1 int , col2 varchar(10));
S2 : EXCEL中在A1輸入 ="create table t"&ROW()&" like t;"
S3: 下拉填充這個A1至A1000
create table t1 like t;
create table t2 like t;
create table t3 like t;
create table t4 like t;
create table t5 like t;
create table t6 like t;
create table t7 like t;
create table t8 like t;
create table t9 like t;
create table t10 like t;
S4: 復制到MYSQL命令行工具一次行執行。
② MySQL與MSSQl使用While語句循環生成測試數據的代碼
在MySQL中,使用While語句循環與SQL
Server中有所不同,代碼測試通過。
MSSQL中使用while語句循環生成數據的方法:
示例代碼:
復制代碼
代碼如下:
declare
@a
int
set
@a
=
1
while
@a<25
begin
INSERT
INTO
demotable
(id,item1,item2)
VALUES
(@a,"abc","123")
set
@a
=
@a
+
1
end
MySQL中,使用while循環處理數據方法:需要新建為存儲過程,直接調用執行存儲過程。
示例代碼:
復制代碼
代碼如下:
CREATE
DEFINER=`root`@`localhost`
PROCEDURE
`NewProcere`()
BEGIN
DECLARE
i
INT;
SET
i=1;
WHILE
i<100
DO
INSERT
INTO
demotable
(id,item1,item2)
VALUES
(i,"測試試題","0");
SET
i
=
i
+
1;
END
WHILE;
END;
③ MySQL 存儲過程 怎麼實現 循環sql語句
delimiter $$
mysql>
mysql> CREATE PROCEDURE myProc() //創建while循環的存儲過程 if分支語句示例
-> BEGIN
->
-> DECLARE i int;
-> SET i=1;
-> loop1: WHILE i<=10 DO
-> IF MOD(i,2)<>0 THEN /*Even number - try again*/
-> SELECT CONCAT(i," is an odd number");
-> END IF;
-> SET i=i+1;
-> END WHILE loop1;
-> END$$
Query OK, 0 rows affected (0.00 sec)
這種也可以
④ mysql循環執行sql語句怎麼寫
用存儲過程就行了,給你一個能傳參數的實例吧
drop procere if exists employee;
delimiter $
create procere employee(
IN acc int(20))
BEGIN
DECLARE i INT(11);
SET i = 0;
loop1: WHILE i<=acc DO
你的sql語句
SET i=i+1;
END WHILE loop1;
end $
delimiter ;
call employee(1000)
mysql常用命令詳解
mysql安裝目錄
資料庫目錄
/var/lib/mysql/
配置文件
/usr/share/mysql(mysql.server命令及配置文件)
相關命令
/usr/bin(mysqladmin mysqlmp等命令)
啟動腳本
/etc/init.d/mysql(啟動腳本文件mysql的目錄)
系統管理
連接mysql
格式:
mysql -h 主機地址 -u用戶名 -p用戶密碼
例 1:連接到本機上的 mysql。
hadoop@ubuntu:~$ mysql
-uroot -pmysql;
例 2:連接到遠程主機上的 mysql。
hadoop@ubuntu:~$ mysql -h
127.0.0.1 -uroot -pmysql;
⑤ mysql 如何循環查詢
用遞歸吧,不過我不會用MySQL的語法,應該跟SQLserver差不多吧
2.執行語句與結果
⑥ 我有多條sql的更新語句,怎麼用一個循環語句執行一次更新整一張數據表的數據
1、首先,使用Navicat for MySQL連接資料庫並創建一個資料庫。
⑦ mysql循環執行sql語句,不是在存儲過程
不是啊,function中也可以,現在一般不推薦使用存儲過程和函數,因為不好調試,阿里的開發手冊中也規定了不能使用
⑧ mysql中如何寫sql循環語句呢
一般是不會這么做的,為了達到主從一致,會把主從資料庫按主從順序暫時都停掉,直接把主的資料庫文件直接考到從資料庫上覆蓋同名文件達到一致(怕出錯注意備份),然後先啟動從機,後啟動主機,就OK了。
如果想查詢只能通過第三方軟體或者自己寫程序對比了,mysql不能跨伺服器查詢的
⑨ mysql sql中流程式控制制有for循環嗎
MySQL不支持FOR loops循環。
只有LOOP循環:
[begin_label:] LOOP
statement_list
END LOOP [end_label]
CREATE PROCEDURE doiterate(p1 INT)
BEGIN
label1: LOOP
SET p1 = p1 + 1;
IF p1 < 10 THEN
ITERATE label1;
END IF;
LEAVE label1;
END LOOP label1;
SET @x = p1;
END;
LOOP實現了一個簡單的循環結構,允許重復執行語句列表,該列表由一個或多個語句組成,每個語句以分號(;)分隔符結束。 循環中的語句將重復執行,直到循環終止。 一般情況,通過LEAVE終止循環。 在函數中,也可以使用RETURN,它完全退出函數,也同時終止循環。
(9)mysqlsql語句循環擴展閱讀
mysql流程式控制制結構:
順序結構:程序從上往下依次執行,
分支結構:程序從兩條或多條路徑中選中一條去執行,
循環結構:程序在滿足一定條件的基礎上,重復執行一段代碼。
分支結構
1、if函數
功能:實現簡單的雙分支
語法:
if(表達式1,表達式2,表達式3)
執行順序:
如果表達式1成立,則if函數返回表達式2的值,否則返回表達式3的值
應用:任何地方(在begin end中或外面都可以)
2、case結構
情況1:類似於java中的switch語句,一般用於實現等值判斷
語法:
CASE 變數|表達式|欄位
WHEN 要判斷的值 THEN 返回的值1或語句1;
WHEN 要判斷的值 THEN 返回的值2或語句2;
...
ELSE 要返回的值n或語句n;
END CASE;
情況2:類似於java中的多重IF語句,一般用於實現區間判斷
語法;
CASE
WHEN 要判斷的條件1 THEN 返回的值1或語句1;
WHEN 要判斷的條件2 THEN 返回的值2或語句2;
...
ELSE 要返回的值n或語句n;
END CASE;