『壹』 Mysql中能執行動態SQL嗎
可以的。
set v_sql= '動態SQL';
set @v_sql=v_sql; --將動態SQL字元串賦值給一個變數(可以之前沒有定義,但要以@開頭)
prepare stmt from @v_sql; --預處理需要執行的動態SQL,其中stmt是一個變數
EXECUTE stmt; --執行SQL語句
deallocate prepare stmt; --釋放掉預處理段
『貳』 MYSQL資料庫如何執行SQL語句
select @a=DRClass1, @b=DRClass2, @c=DRClass3, @d=DRClass4, @e=DRClass5 from Teacher Where TeacherID = @TeacherID create table classname(classname char(50)) insert into classname (classname) values (@a) if (@b is not null) begin insert into classname (classname) values (@b) if (@c is not null) begin insert into classname (classname) values (@c) if (@d is not null) begin insert into classname (classname) values (@d) if (@e is not null) begin insert into classname (classname) values (@e) end end end end select * from classname 以上這些SQL語句能不能轉成一個存儲過程?我自己試了下 ALTER PROCEDURE Pr_GetClass @TeacherID int, @a char(50), @b char(50), @c char(50), @d char(50), @e char(50) as select @a=DRClass1, @b=DRClass2, @c=DRClass3, @d=DRClass4, @e=DRClass5 from Teacher Where TeacherID = @TeacherID DROP TABLE classname create table classname(classname char(50)) insert into classname (classname) values (@a) if (@b is not null) begin insert into classname (classname) values (@b) if (@c is not null) begin insert into classname (classname) values (@c) if (@d is not null) begin insert into classname (classname) values (@d) if (@e is not null) begin insert into classname (classname) values (@e) end end end end select * from classname 但是這樣的話,這個存儲過程就有6個變數,實際上應該只提供一個變數就可以了 主要的問題就是自己沒搞清楚 @a,@b,@C,@d 等是臨時變數,是放在as後面重新做一些申明的,而不是放在開頭整個存儲過程的變數定義。 (標准化越來越近了):namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 實戰SQL語句收集(不斷更新中--) 前言:這里將我編程實踐中遇到的有價值的sql語句一路記下來,一方面方便自己查用,一方面也夯實下即將遺忘的回憶。整個過程中我會不斷更新,直到不能再加為止,同時,這里只記錄最實用的咚咚,不效仿學院派的那一套。
『叄』 MySQL中如何執行SQL語句
MYSQL裡面執行SQL語句使用一個DOS命令:MYSQL.EXE
滑鼠雙擊MYSQL.EXE不一定能夠執行,因為那是連接的默認主機、用戶名、密碼,往往不能工作,你需要在CMD命令提示符下,執行命令的時候用參數指定這些內容,參數格式是:
MYSQL.EXE -h 主機名稱或者IP比如127.0.0.1 -u 用戶名稱比如root -p
『肆』 mysql怎麼執行sql語句
先用Navicat 打開你的資料庫
在彈窗的窗口中寫你的SQL語句
『伍』 mysql不聯網能安裝嗎
-- ACCESS轉成SQL(理論上可行,但是筆者修改的程序只能成功幾個) :網上大部分的免費asp程序使用的是access資料庫。但是access資料庫作為一個中小型的單機資料庫系統,在承擔訪問量、數據量大的網站應用時,往往就不堪重負了。一般認為,超過50M的access資料庫性能就開始明顯下降,超過100M以後,出錯、運行慢的問題會更加突出。盡管可以如動網7.0以後那樣,從程序的角度盡量優化以圖提高性能,但是不能從根本上解決問題。 :這時也許使用微軟的SQL Server資料庫就是最可能的辦法,當然也可以使用其它的如Oracle、MySQL等等,但是作為改寫來說,由於同為微軟的產品,改寫成SQL Server應該是最省力的辦法。 : :一、改寫前提: : :系統已經安裝好SQL Server2000並且打上了SP3補丁;安裝好Office套件裡面的Access;使用一個支持純文本編輯並且帶有行號顯示的編輯器,推薦Ultra Edit,當然也可以使用FrontPage2003,不過以前的版本行號顯示不太好用。 : :個人能力要求:會基本的asp語法、access資料庫的操作、SQLServer企業管理器的基本操作。 : :二、資料庫的准備 : :一般來說有兩種情況: :1、程序提供了SQL資料庫格式:有一個MDF文件,或者提供了創建SQL資料庫的SQL腳本文件(後綴名為.sql)。 :如果有mdf文件,可以用企業管理器直接附加上,如果提供的是sql腳本文件,那麼就先用企業管理器自己創建一個sql資料庫,然後資料庫用企業管理器中的查詢分析器運行這個腳本創建資料庫表。 :這樣建立的資料庫基本不用再去改寫什麼了。 :2、更多的是沒有提供SQL資料庫或腳本文件的,這時,就要自己來做這一切了,這也是我們這個帖子主要解決的問題。一般這樣的程序會提供一個access資料庫,這樣你就用企業管理器導入access資料庫,導入後需要改寫下面一些東西: :對照原來的access,改寫下面的部分: :(1)sql資料庫表是沒有自動欄位的,因此原來access中的自動欄位被轉換成了普通欄位,需要手工改成標識類型,增量為1。 :(2)所有的時間欄位,如果定義了默認值,那麼原來肯定是now(),需要改成getdate() :(3)原來欄位的默認值一般都不會自動引入,需要對照原表的欄位手工添加。 :(4)由於資料庫的不同,access和sql的欄位類型很多轉換後就變化了,比如原來的《是否》欄位會被轉換成bit或者int,備注欄位被轉換成longtext,text欄位轉換成varchar等等,一般來說不會影響程序運行,如果有問題,我們在下面的程序改寫部分再說。 :(5)如果你要用一個For SQL的程序,裡面用到了存儲過程,那麼你應該有這個程序本身建立SQL資料庫的方法:有其本身的SQL資料庫文件,或者sql腳本;如果沒有的話,採用導入access資料庫的方式是無法建立存儲過程的,這樣你最好放棄這個For SQL的程序版本,使用同樣版本的For Access的程序,導入access資料庫,然後用下面的改寫方法自己改成SQL版本的程序。 : :三、連接字元串的改寫 : :可參考動網的這段,分別是針對access和SQL的 :Dim ConnStr :If IsSqlDataBase = 1 Then : \'sql資料庫連接參數:資料庫名、用戶密碼、用戶名、連接名(本地用local,外地用IP) : Dim SqlDatabaseName,SqlPassword,SqlUsername,SqlLocalName : SqlDatabaseName = "dvbbs7" : SqlPassword = "" : SqlUsername = "dvbbs" : SqlLocalName = "(local)" : ConnStr = "Provider = Sqloledb; User ID = " SqlUsername "; Password = " SqlPassword "; Initial Catalog = " SqlDatabaseName "; Data Source = " &
『陸』 怎麼連接MYSQL資料庫和執行SQL語句
首先創建連接
就創建個Cnnection對象,然後把驅動加上,還有帳號密碼什麼的!我沒連過sql資料庫,不知道驅動,你可以在網上搜一下。
給你一個我連接mysql資料庫的例子
public Connection Getdata(){//這是連接資料庫的一個方法,還可以配置連接池。
Connection con=null;
try {
Class.forName("com.mysql.jdbc.Driver");//加驅動
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/data","root","qq");//資料庫路徑、埠、庫名、資料庫用戶名和密碼
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
public void delete(int id){//對資料庫進行操作的方法,先調用上面寫好的連接!
Connection con=Getdata();
Statement st;
try {
st=con.createStatement();
st.executeUpdate("delete from kaoshi where id="+id);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
『柒』 MySQL 要執行一個SQL 語句 有什麼辦法可以
方法很多。
例如
最常用的是用命令行指令,先登錄mysql資料庫管理系統,然後執行sql語句;
或者使用mysql可視化管理工具如navicat等直接在界面上運行sql查詢語句;
再或者通過應用程序編程連接mysql資料庫並運行sql語句等等。
『捌』 如何執行執行SQL語句
用的是php的php_mssql.dll/php_mssql.so模塊
php自帶方法mysql_*連接mysql資料庫執行sql語句
『玖』 MySQL伺服器是如何控制用戶連接執行SQL語句的
摘要 您好: MySQL分為服務端和客戶端,服務端進程為mysqld, 客戶端工具為mysql。mysql是一個互動式客戶端程序,使您可以連接到MySQL伺服器,執行SQL語句並查看結果。
『拾』 (30分)看看MySQL語句是不是不能在網吧運行
錯誤信息肯定了是SQL語句錯誤,如下修改源代碼,讓程序提示更加詳細的信息,然後你就知道問題在哪裡了:
$sql='select * from member';
if ($res = mysql_query($sql,$conn)){
$rows = mysql_fetch_array($res);
echo $rows[0];
}else echo "執行SQL:$sql<BR>錯誤:".mysql_error();
有了提示信息就能斷定錯誤的原因,目前能定位的就是SQL錯誤,從你的程序代碼看,好像是沒有選擇資料庫,假如你的資料庫是在test裡面,那麼上面的第一行可以修改為下面這樣試試看:
$sql='select * from test.member';
補充:
你按照的我的方法修改代碼,查看執行屏幕就知道了。