真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql8.0怎么執(zhí)行語句 mysql 執(zhí)行語句

如何直接執(zhí)行SQL語句

1、ExecuteQuery方法

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、石景山網(wǎng)站維護(hù)、網(wǎng)站推廣。

看命名,我們很容易聯(lián)想到ADO.NET里熟悉的Command的ExecuteNonQuery方法,但是VS的智能提示告訴我們這個(gè)方法返回的是一個(gè)泛型集合,應(yīng)該“所思非所得”。下面通過一個(gè)簡單方法,驗(yàn)證我們的猜想(數(shù)據(jù)庫設(shè)計(jì)可以參考這一篇):

/// summary

/// 直接執(zhí)行sql語句,獲取總?cè)藬?shù)

/// /summary

/// returns/returns

publicint GetTotalCount()

{

string strSql = "SELECT COUNT(0) FROM Person(NOLOCK)";

var query = dataContext.ExecuteQueryint(strSql);

int result = query.Firstint();

Console.WriteLine();

Console.WriteLine("total count:{0}", result);

return result;

}

調(diào)試的時(shí)候,通過IntelliTrace跟蹤到:

毫無疑問,上面的圖片說明最初的想法是不正確的,”ADO.NET:執(zhí)行Reader…”云云,讓我們更加堅(jiān)信它實(shí)際執(zhí)行的應(yīng)該是ExecuteReader方法。當(dāng)然最簡單的方法是直接查看它的方法說明:

// 摘要:

// 直接對(duì)數(shù)據(jù)庫執(zhí)行 SQL 查詢并返回對(duì)象。

//

// 參數(shù):

// query:

// 要執(zhí)行的 SQL 查詢。

//

// parameters:

// 要傳遞給命令的參數(shù)數(shù)組。注意下面的行為:如果數(shù)組中的對(duì)象的數(shù)目小于命令字符串中已標(biāo)識(shí)的最大數(shù),

則會(huì)引發(fā)異常。如果數(shù)組包含未在命令字符串中引用的對(duì)象,則不會(huì)引發(fā)異常。如果某參數(shù)為

// null,則該參數(shù)會(huì)轉(zhuǎn)換為 DBNull.Value。

//

// 類型參數(shù):

// TResult:

// 返回的集合中的元素的類型。

//

// 返回結(jié)果:

// 由查詢返回的對(duì)象的集合。

public IEnumerableTResult ExecuteQueryTResult(string query, paramsobject[] parameters);

ExecuteQuery方法還有一個(gè)非泛型方法:

//

// 摘要:

// 直接對(duì)數(shù)據(jù)庫執(zhí)行 SQL 查詢。

//

// 參數(shù):

// elementType:

//

要返回的 System.Collections.Generic.IEnumerableT

的類型。使查詢結(jié)果中的列與對(duì)象中的字段或?qū)傩韵嗥ヅ涞乃惴ㄈ缦滤荆喝绻侄位驅(qū)傩杂成涞教囟忻Q,則結(jié)果集中應(yīng)包含該列名稱。如果未映射字段或?qū)傩裕瑒t結(jié)果集中應(yīng)包含其名稱與該字段或?qū)傩韵嗤牧?。通過先查找區(qū)分大小寫的匹配來執(zhí)行比較。如果未找到匹配項(xiàng),則會(huì)繼續(xù)搜索不區(qū)分大小寫的匹配項(xiàng)。如果同時(shí)滿足下列所有條件,則該查詢應(yīng)當(dāng)返回(除延遲加載的對(duì)象外的)對(duì)象的所有跟蹤的字段和屬性:T

// 是由 System.Data.Linq.DataContext 顯式跟蹤的實(shí)體。

System.Data.Linq.DataContext.ObjectTrackingEnabled

// 為 true。實(shí)體具有主鍵。否則會(huì)引發(fā)異常。

//

// query:

// 要執(zhí)行的 SQL 查詢。

//

// parameters:

// 要傳遞給命令的參數(shù)數(shù)組。注意下面的行為:如果數(shù)組中的對(duì)象的數(shù)目小于命令字符串中已標(biāo)識(shí)的最大數(shù),

則會(huì)引發(fā)異常。如果數(shù)組包含未在命令字符串中引用的對(duì)象,則不會(huì)引發(fā)異常。如果某參數(shù)為

// null,則該參數(shù)會(huì)轉(zhuǎn)換為 DBNull.Value。

//

// 返回結(jié)果:

// 由查詢返回的對(duì)象的 System.Collections.Generic.IEnumerableT 集合。

public IEnumerable ExecuteQuery(Type elementType, string query, paramsobject[] parameters);

看它的參數(shù)需要多傳遞一個(gè)elementType,明顯不如泛型方法簡潔。

2、ExecuteCommand方法

同樣道理,這個(gè)方法立刻讓我們聯(lián)想到(世界沒有聯(lián)想,生活將會(huì)怎樣?),聯(lián)想到,等等,不知聯(lián)想到什么。然后我們看一下方法使用說明:

//

// 摘要:

// 直接對(duì)數(shù)據(jù)庫執(zhí)行 SQL 命令。

//

// 參數(shù):

// command:

// 要執(zhí)行的 SQL 命令。

//

// parameters:

// 要傳遞給命令的參數(shù)數(shù)組。注意下面的行為:如果數(shù)組中的對(duì)象的數(shù)目小于命令字符串中已標(biāo)識(shí)的最大數(shù),

則會(huì)引發(fā)異常。如果數(shù)組包含未在命令字符串中引用的對(duì)象,則不會(huì)引發(fā)異常。如果任一參數(shù)為

// null,則該參數(shù)會(huì)轉(zhuǎn)換為 DBNull.Value。

//

// 返回結(jié)果:

// 一個(gè) int,表示所執(zhí)行命令修改的行數(shù)。

publicint ExecuteCommand(string command, paramsobject[] parameters);

到這里,看它的返回類型為int,表示執(zhí)行命令修改的行數(shù),這次很容易想到ExecuteNonQuery方法。對(duì)不對(duì)呢?通過下面的代碼證明我們的設(shè)想:

/// summary

/// 直接執(zhí)行sql語句 根據(jù)用戶Id更新體重

/// /summary

/// param name="id"用戶Id/param

/// param name="destWeight"更新后的體重/param

/// returns/returns

publicint ModifyWeightById(int id, double destWeight)

{

string strSql = string.Format("UPDATE Person SET Weight={0} WHERE Id={1}", destWeight, id);

int result = dataContext.ExecuteCommand(strSql);

Console.WriteLine();

Console.WriteLine("affect num:{0}", result);

return result;

}

調(diào)試過程中,通過IntelliTrace可以很清楚地捕獲:

“ADO.NET:執(zhí)行NonQuery…”基本可以斷言我們的設(shè)想是正確的。

3、防止sql注入

1和2中,執(zhí)行sql語句的兩個(gè)方法都有一個(gè)params 類型的參數(shù),我們又會(huì)想到ADO.NET非常重要的sql語句的參數(shù)化防止sql注入問題。下面通過一個(gè)方法,看看linq2sql可不可以防止sql注入。

(1)、直接執(zhí)行拼接的sql語句(有風(fēng)險(xiǎn))

/// summary

/// 直接執(zhí)行sql語句 根據(jù)用戶Id更新FirstName

/// /summary

/// param name="id"用戶Id/param

/// param name="destName"更新后的FirstName/param

/// returns/returns

publicint ModifyNameById(int id, string destName)

{

string strSql = string.Format("UPDATE Person SET FirstName='{0}' WHERE Id={1}", destName, id);

//這么拼接有風(fēng)險(xiǎn)

int result = dataContext.ExecuteCommand(strSql);

Console.WriteLine();

Console.WriteLine("affect num:{0}", result);

return result;

}

然后,在客戶端這樣調(diào)用這個(gè)方法:

int result = ServiceFactory.CreatePersonService().ModifyNameById(10, "'Anders'");

//更新id為10的人的FirstName

mysql數(shù)據(jù)庫怎么執(zhí)行sql語句

首先創(chuàng)建連接

就創(chuàng)建個(gè)Cnnection對(duì)象,然后把驅(qū)動(dòng)加上,還有帳號(hào)密碼什么的!我沒連過sql數(shù)據(jù)庫,不知道驅(qū)動(dòng),你可以在網(wǎng)上搜一下。

給你一個(gè)我連接mysql數(shù)據(jù)庫的例子

public Connection Getdata(){//這是連接數(shù)據(jù)庫的一個(gè)方法,還可以配置連接池。

Connection con=null;

try {

Class.forName("com.mysql.jdbc.Driver");//加驅(qū)動(dòng)

con=DriverManager.getConnection("jdbc:mysql://localhost:3306/data","root","qq");//數(shù)據(jù)庫路徑、端口、庫名、數(shù)據(jù)庫用戶名和密碼

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

return con;

}

public void delete(int id){//對(duì)數(shù)據(jù)庫進(jìn)行操作的方法,先調(diào)用上面寫好的連接!

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();

}

}

如何執(zhí)行mysql語句塊

如果是在命令提示符下鍵入SQL語句,結(jié)尾需要加分號(hào),回車即可,如果你是在MYSQL的一個(gè)集成開發(fā)環(huán)境下操作,將SQL語句鍵入頁面上方的一個(gè)框里,然后按菜單欄上的三角箭頭

mysql數(shù)據(jù)庫執(zhí)行sql語句怎么寫

Mysql常用命令詳解

Mysql安裝目錄

數(shù)據(jù)庫目錄

/var/lib/mysql/

配置文件

/usr/share/mysql(mysql.server命令及配置文件)

相關(guān)命令

/usr/bin(mysqladmin mysqldump等命令)

啟動(dòng)腳本

/etc/init.d/mysql(啟動(dòng)腳本文件mysql的目錄)

系統(tǒng)管理

連接MySQL

格式:

mysql -h 主機(jī)地址 -u用戶名 -p用戶密碼

例 1:連接到本機(jī)上的 MySQL。

hadoop@ubuntu:~$ mysql

-uroot -pmysql;

例 2:連接到遠(yuǎn)程主機(jī)上的 MYSQL。

hadoop@ubuntu:~$ mysql -h

127.0.0.1 -uroot -pmysql;

修改新密碼

在終端輸入:mysql -u用戶名 -p密碼,回車進(jìn)入Mysql。

use mysql;

update user set password=PASSWORD('新密碼') where

user='用戶名';

flush privileges; #更新權(quán)限

quit; #退出

增加新用戶

格式:grant select on 數(shù)據(jù)庫.* to

用戶名@登錄主機(jī) identified by '密碼'

舉例:

例 1:增加一個(gè)用戶 test1 密碼為

abc,讓他可以在任何主機(jī)上登錄,并對(duì)所有數(shù)據(jù)庫有

查詢、插入、修改、刪除的權(quán)限。首先用以 root 用戶連入

MySQL,然后鍵入以下命令:

mysqlgrant select,insert,update,delete on *.* to

root@localhost identified by 'mysql';

或者

grant all privileges on *.* to

root@localhost identified by 'mysql';

然后刷新權(quán)限設(shè)置。

flush privileges;

2:如果你不想 root 有密碼操作數(shù)據(jù)庫“mydb”里的數(shù)據(jù)表,可以再打一個(gè)命令將密碼消掉。

grant

select,insert,update,delete on mydb.* to root@localhost identified by

'';

刪除用戶

hadoop@ubuntu:~$ mysql

-u用戶名 -p密碼

mysqldelete from user where user='用戶名' and

host='localhost';

mysqlflush privileges;

//刪除用戶的數(shù)據(jù)庫

mysqldrop

database dbname;

數(shù)據(jù)庫操作

顯示所有的數(shù)據(jù)庫

mysql show databases;(注意:最后有個(gè)

s)

創(chuàng)建數(shù)據(jù)庫

mysql create database

test;

連接數(shù)據(jù)庫

mysql use

test;

查看當(dāng)前使用的數(shù)據(jù)庫

mysql select

database();

當(dāng)前數(shù)據(jù)庫包含的表信息

mysql

show tables; (注意:最后有個(gè) s)

刪除數(shù)據(jù)庫

mysql drop database

test;

表操作

備注:操作之前使用“use

數(shù)據(jù)庫名”應(yīng)連接某個(gè)數(shù)據(jù)庫。

建表

命令:create

table 表名 (字段名 1 類型 1 [,..字段名 n 類型

n]);

例子:

mysql create table MyClass(

id int(4) not null

primary key auto_increment,

name char(20) not null,

sex int(4)

not null default '0',

degree double(16,2));

獲取表結(jié)構(gòu)

命令: desc 表名,或者show columns from

表名

例子:

mysql describe MyClass

mysql desc MyClass;

mysql

show columns from MyClass;

刪除表

命令:drop table 表名

例如:刪除表名為

MyClass 的表

mysql drop table MyClass;

插入數(shù)據(jù)

命令:insert into 表名 [( 字段名

1[,..字段名 n ])] values ( 值 1 )[, ( 值 n )]

例子:

mysql insert

into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang',

96.59);

查詢表中的數(shù)據(jù)

查詢所有行

mysql

select * from MyClass;

查詢前幾行數(shù)據(jù)

例如:查看表 MyClass 中前 2 行數(shù)據(jù)

mysql

select * from MyClass order by id limit 0,2;

或者

mysql select * from

MyClass limit 0,2;

刪除表中數(shù)據(jù)

命令:delete from 表名 where 表達(dá)式

例如:刪除表

MyClass 中編號(hào)為 1 的記錄

mysql delete from MyClass where id=1;

修改表中數(shù)據(jù)

命令:update 表名 set 字段=新值,... where

條件

mysql update MyClass set name='Mary' where id=1;

在表中增加字段

命令:alter table 表名 add 字段 類型

其他;

例如:在表 MyClass 中添加了一個(gè)字段 passtest,類型為 int(4),默認(rèn)值為 0

mysql alter

table MyClass add passtest int(4) default '0'

更改表名

命令:rename table 原表名 to 新表名;

例如:在表

MyClass 名字更改為 YouClass

mysql rename table MyClass to

YouClass;

更新字段內(nèi)容

命令:update 表名 set

字段名 = 新內(nèi)容

update 表名 set 字段名 = replace(字段名, '舊內(nèi)容', '新內(nèi)容');

例如:文章前面加入 4

個(gè)空格

update article set content=concat(' ', content);

數(shù)據(jù)庫導(dǎo)入導(dǎo)出

從數(shù)據(jù)庫導(dǎo)出數(shù)據(jù)庫文件

使用“mysqldump”命令

首先進(jìn)入 DOS

界面,然后進(jìn)行下面操作。

1)導(dǎo)出所有數(shù)據(jù)庫

格式:mysqldump -u [數(shù)據(jù)庫用戶名] -p

-A[備份文件的保存路徑]

2)導(dǎo)出數(shù)據(jù)和數(shù)據(jù)結(jié)構(gòu)

格式:mysqldump -u [數(shù)據(jù)庫用戶名] -p

[要備份的數(shù)據(jù)庫名稱][備份文件的保存路徑]

舉例:

例 1:將數(shù)據(jù)庫 mydb 導(dǎo)出到 e:\MySQL\mydb.sql

文件中。

打開開始-運(yùn)行-輸入“cmd”,進(jìn)入命令行模式。

c:\ mysqldump -h localhost -u

root -p mydb e:\MySQL\mydb.sql

然后輸入密碼,等待一會(huì)導(dǎo)出就成功了,可以到目標(biāo)文件中檢查是否成功。

2:將數(shù)據(jù)庫 mydb 中的 mytable 導(dǎo)出到 e:\MySQL\mytable.sql 文件中。

c:\ mysqldump -h

localhost -u root -p mydb mytablee:\MySQL\mytable.sql

例 3:將數(shù)據(jù)庫 mydb

的結(jié)構(gòu)導(dǎo)出到 e:\MySQL\mydb_stru.sql 文件中。

c:\ mysqldump -h localhost -u root -p

mydb --add-drop-table e:\MySQL\mydb_stru.sql

備注:-h localhost

可以省略,其一般在虛擬主機(jī)上用。

3)只導(dǎo)出數(shù)據(jù)不導(dǎo)出數(shù)據(jù)結(jié)構(gòu)

格式:

mysqldump -u [數(shù)據(jù)庫用戶名] -p -t

[要備份的數(shù)據(jù)庫名稱][備份文件的保存路徑]

4)導(dǎo)出數(shù)據(jù)庫中的Events

格式:mysqldump -u [數(shù)據(jù)庫用戶名] -p

-E [數(shù)據(jù)庫用戶名][備份文件的保存路徑]

5)導(dǎo)出數(shù)據(jù)庫中的存儲(chǔ)過程和函數(shù)

格式:mysqldump -u [數(shù)據(jù)庫用戶名]

-p -R [數(shù)據(jù)庫用戶名][備份文件的保存路徑]

從外部文件導(dǎo)入數(shù)據(jù)庫中

1)使用“source”命令

首先進(jìn)入“mysql”命令控制臺(tái),然后創(chuàng)建數(shù)據(jù)庫,然后使用該數(shù)據(jù)庫。最后執(zhí)行下面操作。

mysqlsource

[備份文件的保存路徑]

2)使用“”符號(hào)

首先進(jìn)入“mysql”命令控制臺(tái),然后創(chuàng)建數(shù)據(jù)庫,然后退出 MySQL,進(jìn)入 DOS

界面。最后執(zhí)行下面操作。

mysql -u root –p [備份文件的保存路徑]


文章標(biāo)題:mysql8.0怎么執(zhí)行語句 mysql 執(zhí)行語句
文章路徑:http://weahome.cn/article/hjigee.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部