我的mysql資料庫學習筆記(mysql資料庫菜鳥教程)

本文目錄一覽:

MySQL — 關鍵字和增刪改查

來自MySQL的學習筆記,寫的不對的地方大家多多指教哦

SELECT、DISTINCT、FROM、JOIN、ON、WHERE、GROUP BY、HAVING、SUM、COUNT、MAX、AVG、ORDER BY、LIMIT

SELECT-DISTINCT-FROM-JOIN-ON-WHERE-GROUP BY-HAVING-ORDER BY-LIMIT

必須欄位:SELECT、FROM

可選欄位:DISTINCT、JOIN、ON、WHERE、GROUP BY、HAVING、SUM、COUNT、MAX、AVG、ORDER BY、LIMIT

FROM-ON-JOIN-WHERE-GROUP BY(開始使用SELECT中的別名,後面的語句中都可以使用別名)-SUM、COUNT、MAX、AVG-HAVING-SELECT-DISTINCT-ORDER BY-LIMIT

FROM:從哪個表中檢索數據

ON:關聯條件,與join一起使用

JOIN:對需要關聯的表進行關聯

WHERE:過濾數據條件,執行順序:自下而上、從右到左

GROUP BY:將過濾的數據進行分組,執行順序:從左往右

SUM:求和

COUNT:數量統計

MAX:最大值

AVG:求平均值

HAVING:對分組的數據過濾條件,與group by一起使用

SELECT:查看結果集

DISTINCT:結果集去重

ORDER BY:排序,升序:ASC;降序:DESC

LIMIT:截取出目標頁數據

詳細用法會在後面進行補充

首先創建一張表,添加欄位,表名字為:goodsmaster

添加數據的語法結構為:

添加數據可以是插入數據或插入查詢的結果

1.1 插入數據

運行語句,查詢結果:SELECT * FROM goodsmaster

部分欄位有做非空約束,那麼這邊插入部分數據,驗證下非空約束

上面的語句運行之後會報錯,錯誤內容為「[Err] 1364 – Field ‘barcode’ doesn’t have a default value」,即「barcode」這個欄位有創建非空約束,表示這個欄位不能為空,如果插入數據時不給這個欄位賦值,那麼就需要給它一個默認值。

部分欄位沒有默認值,可以為空,那麼現在驗證一下插入數據時,這些欄位不進行賦值會有什麼結果

運行語句,查詢結果:SELECT * FROM goodsmaster

仔細看會發現,上面的語句中插入數據也沒有插入「itemnumber」欄位,這個欄位有添加主鍵約束,不能為空,但由於設置了自增約束,所以沒有賦值也會自動在當前欄位最大值+1,這就是自增約束;

上面的語句顯示沒有進行賦值的欄位會默認顯示Null。

1.2 插入查詢結果

MySQL 支持把查詢的結果插入到數據表中,我們可以指定欄位,甚至是數值,插入到數據表中。

語法結構為:

刪除語句使用DELETE刪除,語法結構為:

刪除記錄可以使用WHERE來篩選刪除的數據,下面為刪除「barcode」欄位數據為006的記錄

由於部分數據可以為空,所以再刪除的時候,WHERE的過濾條件必須用到主鍵約束或者唯一性約束的欄位。MySQL 的這種安全性設置,主要就是為了防止刪除或者修改數據時出現誤操作,導致刪除或修改了不相關的數據。

刪除表中的全部數據

MySQL中用UPDATE來修改數據,語法結構為:

注意:不要修改主鍵欄位的值。因為主鍵是數據記錄的唯一標識,如果修改了主鍵的值,就有可能會破壞數據的完整性。

語法結構:

具體需要用到的關鍵字查看本文第一部分即可

mysql基本語句詳細教程

看他們網上的,寫得都是千篇一律,同時,好多也寫得不是很好,下面是我自己總結的有關mysql的使用細節,也是我在學習過程中的一些記錄吧,希望對你有點幫助,後面有關存儲過程等相關操作還沒有總結好,下次總結好了再發給你吧,呵呵~~~~~

MySql學習筆記

MySql概述:MySql是一個種關聯資料庫管理系統,所謂關聯資料庫就是將數據保存在不同的表中,而不是將所有數據放在一個大的倉庫中。這樣就增加了速度與提高了靈活性。並且MySql軟體是一個開放源碼軟體。

注意,MySql所支持的TimeStamp的最大範圍的問題,在32位機器上,支持的取值範圍是年份最好不要超過2030年,然後如果在64位的機器上,年份可以達到2106年,而對於date、與datetime這兩種類型,則沒有關係,都可以表示到9999-12-31,所以這一點得注意下;還有,在安裝MySql的時候,我們一般都選擇Typical(典型安裝)就可以了,當然,如果還有其它用途的話,那最好選擇Complete(完全安裝);在安裝過程中,一般的還會讓你進行伺服器類型的選擇,分別有三種伺服器類型的選擇,(Developer(開發機)、Server Machine(伺服器)、Dedicated MySql Server Machine(專用MYSQL伺服器)),選擇哪種類型的伺服器,只會對配置嚮導對內存等有影響,不然其它方面是沒有什麼影響的;所以,我們如果是開發者,選擇開發機就可以啦;然後接下來,還會有資料庫使用情況對話框的選擇,我們只要按照默認就可以啦;

連接與斷開伺服器:

連接:在windows命令提示符下輸入類似如下命令集:mysql –h host –u user –p

例如,我在用的時候輸入的是:mysql –h localhost –u root –p

然後會提示要你輸入用戶密碼,這個時候,如果你有密碼的話,就輸入密碼敲回車,如果沒有密碼,直接敲回車,就可以進入到資料庫客戶端;連接遠程主機上的mysql,可以用下面的命令:mysql –h 159.0.45.1 –u root –p 123

斷開伺服器:在進入客戶端後,你可以直接輸入quit然後回車就可以了;

下面就資料庫相關命令進行相關說明

你可以輸入以下命令對資料庫表格或者資料庫進行相關操作,在這裡就省略了,然後直接進行文字說明了;

Select version(),current_date;//從伺服器得到當前mysql的版本號與當前日期

Select user(); //得到當前資料庫的所有用戶

Use databasename; 進入到指定的資料庫當中,然後就可以操作這個資料庫當中的表格了

Show databases; //查詢目前資料庫中所有的資料庫,並且顯示出來;

Create batabase databasename;創建資料庫,例如:create database manager;

Show tables; //查看當前資料庫中的所有表格;

Create table tablename(colums);創建表,並且給表指定相關列,例如:create table pet(name varchar(20),owner varchar(20),species varchar(20),sex char(1),birth date,death date);

Describe tablename;將表當中的所有信息詳細顯示出來,例如:describe pet;

可以用命令一次插入多條記錄,例如:

Insert into pet values(『Puffball』,』Diane』,』hamster』,』f』,』1993-12-3』,null),( 『Puffball』,』Diane』,』hamster』,』f』,』1993-12-3』,now());

Select * from pet; 從pet表當中查詢出所有的記錄,顯示出來;

Delete from pet where id=1;刪除ID為1的那一條記錄;

Update pet set birth=』2001-1-3』 where name=』Bowser』;更新name為Bowser的記錄當中的birth欄位的值;

Select distinct owner from pet;從pet表中選擇出owner欄位的值唯一的行,如果有多行記錄這個欄位的值相同,則只顯示最後一次出現這一值的一行記錄;

有關日期計算:

Select name,birth,curdate(),(year(curdate())-year(birth)) as age from pet;

此處,year()函數用於提取對應欄位的年份,當然類似的還有month(),day()等;

在mysql當中,sql語句可以使用like查詢,可以用」_」配任何單個字元,用」%」配任意數目字元,並且SQL模式默認是忽略大小寫,例如:select * from pet where name like 『%fy』;

當然也可以用正則表達式模式進行配。

同時在sql當中,也要注意分組函數、排序函數、統計函數等相關用法,在這裡只列舉一二;

Select species,count(*) from pet group by speceis;

Select * from pet order by birth desc;

查詢最大值的相關操作:

Select max(age) from pet;

取前多少項記錄,這個主要用於分頁查詢操作當中,

Select * from pet order by birth desc limit 3;取前三條記錄,

Select * from pet order by birth desc limit 0,3;這個可以用於分頁查詢,limit後面的第一個參數,是起始位置,第二個參數是取記錄條數;

有關創建表格自增長欄位的寫法:

Create table person(id int(4) not null auto_increment,name char(20) not null,primary key (id));

修改表操作:

向表中增加欄位:注意,在這個地方,如果是增加多個欄位的時候,就要用括弧括起來,不然會有問題,如果是單個欄位的話,不用括弧也沒事;

Alter table test add(address varchar(50) not null default 『xm』,email varchar(20) not null);

將表中某個欄位的名字修改或者修改其對應的相關屬性的時候,要用change對其進行操作;

Alter table test change email email varchar(20) not null default 『zz』;//不修改欄位名

Alter table test change email Email varchar(30) not null;//修改欄位名稱

刪除表中欄位:

Alter table test drop email;//刪除單個欄位

Alter table test drop address,drop email;//刪除多列

可以用Drop來取消主鍵與外鍵等,例如:

Alter table test drop foreign key fk_symbol;

刪除索引:

Drop index index_name on table_name;

例如:drop index t on test;

向表中插入記錄:注意,當插入表中的記錄並不是所有的欄位的時候,應該要在前面列出欄位名稱才行,不然會報錯;

Insert into test(name) values(『ltx』);

Insert into test values(1,』ltx』);

也可以向表中同時插入多列值,如:

Insert into test(name) values(『ltx』),(『hhy』),(『xf』);

刪除表中記錄:

Delete from test;//刪除表中所有記錄;

Delete from test where id=1;//刪除表中特定條件下的記錄;

當要從一個表或者多個表當中查詢出一些欄位然後把這些欄位又要插入到另一個表當中的時候,可以用insert …..select語法;

Insert into testt(name) (select name from test where id=4);

從文件中讀取行插入數據表中,可以用Load data infile語句;

Load data infile 『test.txt』 into table test;

可以用Describe語法進行獲取有關列的信息;

Describe test;//可以查看test表的所有信息,包括對應列欄位的數據類型等;

MySql事務處理相關語法;

開始一項新的事務:start transaction或者begin transaction

提交事務:commit

事務回滾:rollback

set autocommit true|false 語句可以禁用或啟用默認的autocommit模式,只可用於當前連接;

例子:

Start transaction;

Update person set name=』LJB』 where id=1;

Commit | rollback;

資料庫管理語句

修改用戶密碼:以root用戶為例,則可以寫成下面的;mysql –u root –p 舊密碼 –password 新密碼

Mysql –u root –password 123;//將root用戶的密碼修改成123,由於root用戶開始的時候,是沒有密碼的,所以-p舊密碼就省略了;

例如修改一個有密碼的用戶密碼:mysql –u ltx –p 123 –password 456;

增加一個用戶test1,密碼為abc,讓他可以在任何時候主機上登陸,並對所有資料庫有查詢、插入、修改、刪除的許可權。

Grant select,insert,update,delete on *.* to test1@」%」 identified by 『abc』;

增加一個test2用戶,密碼為abc,讓他只可以在localhost上登陸,並且可以對資料庫進行查詢、插入、修改、刪除操作;

Grant select,insert,update,delete on mydb.* to test2@localhost identified by 『abc』;

如果不想讓用戶test2有密碼,可以再輸入以下命令消掉密碼:

Grant select,insert,update,delete on mydb.* to test2@localhost identified by 「」;

備份資料庫常用命令:mysqldump –h host –u username –p dbname保存路徑與文件名

然後回車後,會讓你輸入用戶密碼,輸入密碼後,再回車就OK啦;

Mysqldump –hlocalhost –uroot –p test E:\db\test.sql

這一命令具體解釋下:

這個命令就是備份test資料庫,並且將備份的內容存儲為test.sql文件,並且保存在E:\db下面;

命令當中-p 前面的test是資料庫名,然後在資料庫名後面要跟上一個」」,然後接下來,就是寫要保存的位置與保存文件的文件名;

將備份好的資料庫導入到資料庫當中去:也就是運行.sql文件將資料庫導入資料庫當中去-

首先你得創建資料庫,然後運行如下命令:mysql –hlocalhost –uroot –p linuxE:\db\test.sql然後回車,再輸入密碼就可以啦;

解釋下上面的命令:linux是就要導入的資料庫名字,然後後面要緊跟著「」符號,然後後面就是要導入的資料庫文件;

將資料庫導出保存成XML文件、從XML文件導入數據到資料庫:

導出表中數據:mysql –X –h hostName –u userName –p Pwd –e 「use DatabaseName;sql;」 xml文件名

或者用另外一種方式也行:mysqldump –xml –h hostName –u userName –p pwd dbName tableName //這一種只用於顯示在當前的mysql客戶端,不保存到文件當中;

相關說明:-X代表的是文件的格式是XML,然後-e一寫不能掉,還有就是要用雙引號將要操作的語句括起來;單引號不行;

例如:mysql –X –hlocalhost –uroot –p –e 「use test;select * from pet;」E:\db\out.xml

從XML文件導入數據到資料庫:

Insert into tableName values(1,load_file(『filepath』));

例如:insert into pet values(1,load_file(「E:\db\out.xml」));

查看資料庫狀態與查詢進程:

Show status;//查看狀態

Show processlist;//查看進程

更改用戶名,用以下命令:

Update set user=」新名字」 where user=」舊用戶名」;

給資料庫用戶設置管理員許可權:

Mysqladmin –h host –u username –p pwd;

以root用戶為例;

Mysqladmin –h localhost –u root –p 123;

存儲過程與函數

存儲程序和函數分別是用create procedure和create function語句,一個程序要麼是一個程序要麼是一個函數,使用call語句來調用程序,並且程序只能用輸出變數傳回值;

要想在MySql5.1中創建子程序,必須具有create routine許可權,並且alter routine和execute許可權被自動授予它的創建者;

創建存儲過程:

首先聲明分隔符,所謂分隔符是指你通知mysql客戶端你已經輸入一個sql語句的字元或字元串符號,在這裡我們就以「//」為分隔符;

Delimiter 分隔符\

如:delimiter //

再創建存儲過程:

Create procedure 存儲過程名 ( )

聲明存儲過程開始:

begin

然後開始寫存儲過程體:

Select * from pet;

結束存儲過程:

End;//

剛剛的例子全部寫出來,完整的代碼就是:

Delimiter //

Create procedure spt () //注意,這個地方,存儲過程名與括弧之間要有個空格

Begin

Select * from pet;

End;//到這裡,整個存儲過程就算寫完啦

執行存儲過程:

Call 存儲過程名 ();//

如,我們執行剛剛創建的存儲過程,就是:

Call spt ();//

需要說明的是存儲過程名後面一定要加個空格,而後面那個括弧,則是用於傳送參數的參數列表;另外,我們創建存儲過程完成後,也只是創建了,但是只有調用call 存儲過程名 ();//後才算執行完畢,才能看到存儲過程的結果;

mysql語句

看他們網上的,寫得都是千篇一律,同時,好多也寫得不是很好,下面是我自己總結的有關mysql的使用細節,也是我在學習過程中的一些記錄吧,希望對你有點幫助,後面有關存儲過程等相關操作還沒有總結好,下次總結好了再發給你吧,呵呵~~~~~

MySql學習筆記

MySql概述:MySql是一個種關聯資料庫管理系統,所謂關聯資料庫就是將數據保存在不同的表中,而不是將所有數據放在一個大的倉庫中。這樣就增加了速度與提高了靈活性。並且MySql軟體是一個開放源碼軟體。

注意,MySql所支持的TimeStamp的最大範圍的問題,在32位機器上,支持的取值範圍是年份最好不要超過2030年,然後如果在64位的機器上,年份可以達到2106年,而對於date、與datetime這兩種類型,則沒有關係,都可以表示到9999-12-31,所以這一點得注意下;還有,在安裝MySql的時候,我們一般都選擇Typical(典型安裝)就可以了,當然,如果還有其它用途的話,那最好選擇Complete(完全安裝);在安裝過程中,一般的還會讓你進行伺服器類型的選擇,分別有三種伺服器類型的選擇,(Developer(開發機)、Server Machine(伺服器)、Dedicated MySql Server Machine(專用MYSQL伺服器)),選擇哪種類型的伺服器,只會對配置嚮導對內存等有影響,不然其它方面是沒有什麼影響的;所以,我們如果是開發者,選擇開發機就可以啦;然後接下來,還會有資料庫使用情況對話框的選擇,我們只要按照默認就可以啦;

連接與斷開伺服器:

連接:在windows命令提示符下輸入類似如下命令集:mysql –h host –u user –p

例如,我在用的時候輸入的是:mysql –h localhost –u root –p

然後會提示要你輸入用戶密碼,這個時候,如果你有密碼的話,就輸入密碼敲回車,如果沒有密碼,直接敲回車,就可以進入到資料庫客戶端;連接遠程主機上的mysql,可以用下面的命令:mysql –h 159.0.45.1 –u root –p 123

斷開伺服器:在進入客戶端後,你可以直接輸入quit然後回車就可以了;

下面就資料庫相關命令進行相關說明

你可以輸入以下命令對資料庫表格或者資料庫進行相關操作,在這裡就省略了,然後直接進行文字說明了;

Select version(),current_date;//從伺服器得到當前mysql的版本號與當前日期

Select user(); //得到當前資料庫的所有用戶

Use databasename; 進入到指定的資料庫當中,然後就可以操作這個資料庫當中的表格了

Show databases; //查詢目前資料庫中所有的資料庫,並且顯示出來;

Create batabase databasename;創建資料庫,例如:create database manager;

Show tables; //查看當前資料庫中的所有表格;

Create table tablename(colums);創建表,並且給表指定相關列,例如:create table pet(name varchar(20),owner varchar(20),species varchar(20),sex char(1),birth date,death date);

Describe tablename;將表當中的所有信息詳細顯示出來,例如:describe pet;

可以用命令一次插入多條記錄,例如:

Insert into pet values(『Puffball』,』Diane』,』hamster』,』f』,』1993-12-3』,null),( 『Puffball』,』Diane』,』hamster』,』f』,』1993-12-3』,now());

Select * from pet; 從pet表當中查詢出所有的記錄,顯示出來;

Delete from pet where id=1;刪除ID為1的那一條記錄;

Update pet set birth=』2001-1-3』 where name=』Bowser』;更新name為Bowser的記錄當中的birth欄位的值;

Select distinct owner from pet;從pet表中選擇出owner欄位的值唯一的行,如果有多行記錄這個欄位的值相同,則只顯示最後一次出現這一值的一行記錄;

有關日期計算:

Select name,birth,curdate(),(year(curdate())-year(birth)) as age from pet;

此處,year()函數用於提取對應欄位的年份,當然類似的還有month(),day()等;

在mysql當中,sql語句可以使用like查詢,可以用」_」配任何單個字元,用」%」配任意數目字元,並且SQL模式默認是忽略大小寫,例如:select * from pet where name like 『%fy』;

當然也可以用正則表達式模式進行配。

同時在sql當中,也要注意分組函數、排序函數、統計函數等相關用法,在這裡只列舉一二;

Select species,count(*) from pet group by speceis;

Select * from pet order by birth desc;

查詢最大值的相關操作:

Select max(age) from pet;

取前多少項記錄,這個主要用於分頁查詢操作當中,

Select * from pet order by birth desc limit 3;取前三條記錄,

Select * from pet order by birth desc limit 0,3;這個可以用於分頁查詢,limit後面的第一個參數,是起始位置,第二個參數是取記錄條數;

有關創建表格自增長欄位的寫法:

Create table person(id int(4) not null auto_increment,name char(20) not null,primary key (id));

修改表操作:

向表中增加欄位:注意,在這個地方,如果是增加多個欄位的時候,就要用括弧括起來,不然會有問題,如果是單個欄位的話,不用括弧也沒事;

Alter table test add(address varchar(50) not null default 『xm』,email varchar(20) not null);

將表中某個欄位的名字修改或者修改其對應的相關屬性的時候,要用change對其進行操作;

Alter table test change email email varchar(20) not null default 『zz』;//不修改欄位名

Alter table test change email Email varchar(30) not null;//修改欄位名稱

刪除表中欄位:

Alter table test drop email;//刪除單個欄位

Alter table test drop address,drop email;//刪除多列

可以用Drop來取消主鍵與外鍵等,例如:

Alter table test drop foreign key fk_symbol;

刪除索引:

Drop index index_name on table_name;

例如:drop index t on test;

向表中插入記錄:注意,當插入表中的記錄並不是所有的欄位的時候,應該要在前面列出欄位名稱才行,不然會報錯;

Insert into test(name) values(『ltx』);

Insert into test values(1,』ltx』);

也可以向表中同時插入多列值,如:

Insert into test(name) values(『ltx』),(『hhy』),(『xf』);

刪除表中記錄:

Delete from test;//刪除表中所有記錄;

Delete from test where id=1;//刪除表中特定條件下的記錄;

當要從一個表或者多個表當中查詢出一些欄位然後把這些欄位又要插入到另一個表當中的時候,可以用insert …..select語法;

Insert into testt(name) (select name from test where id=4);

從文件中讀取行插入數據表中,可以用Load data infile語句;

Load data infile 『test.txt』 into table test;

可以用Describe語法進行獲取有關列的信息;

Describe test;//可以查看test表的所有信息,包括對應列欄位的數據類型等;

MySql事務處理相關語法;

開始一項新的事務:start transaction或者begin transaction

提交事務:commit

事務回滾:rollback

set autocommit true|false 語句可以禁用或啟用默認的autocommit模式,只可用於當前連接;

例子:

Start transaction;

Update person set name=』LJB』 where id=1;

Commit | rollback;

資料庫管理語句

修改用戶密碼:以root用戶為例,則可以寫成下面的;mysql –u root –p 舊密碼 –password 新密碼

Mysql –u root –password 123;//將root用戶的密碼修改成123,由於root用戶開始的時候,是沒有密碼的,所以-p舊密碼就省略了;

例如修改一個有密碼的用戶密碼:mysql –u ltx –p 123 –password 456;

增加一個用戶test1,密碼為abc,讓他可以在任何時候主機上登陸,並對所有資料庫有查詢、插入、修改、刪除的許可權。

Grant select,insert,update,delete on *.* to test1@」%」 identified by 『abc』;

增加一個test2用戶,密碼為abc,讓他只可以在localhost上登陸,並且可以對資料庫進行查詢、插入、修改、刪除操作;

Grant select,insert,update,delete on mydb.* to test2@localhost identified by 『abc』;

如果不想讓用戶test2有密碼,可以再輸入以下命令消掉密碼:

Grant select,insert,update,delete on mydb.* to test2@localhost identified by 「」;

備份資料庫常用命令:mysqldump –h host –u username –p dbname保存路徑與文件名

然後回車後,會讓你輸入用戶密碼,輸入密碼後,再回車就OK啦;

Mysqldump –hlocalhost –uroot –p test E:\db\test.sql

這一命令具體解釋下:

這個命令就是備份test資料庫,並且將備份的內容存儲為test.sql文件,並且保存在E:\db下面;

命令當中-p 前面的test是資料庫名,然後在資料庫名後面要跟上一個」」,然後接下來,就是寫要保存的位置與保存文件的文件名;

將備份好的資料庫導入到資料庫當中去:也就是運行.sql文件將資料庫導入資料庫當中去-

首先你得創建資料庫,然後運行如下命令:mysql –hlocalhost –uroot –p linuxE:\db\test.sql然後回車,再輸入密碼就可以啦;

解釋下上面的命令:linux是就要導入的資料庫名字,然後後面要緊跟著「」符號,然後後面就是要導入的資料庫文件;

將資料庫導出保存成XML文件、從XML文件導入數據到資料庫:

導出表中數據:mysql –X –h hostName –u userName –p Pwd –e 「use DatabaseName;sql;」 xml文件名

或者用另外一種方式也行:mysqldump –xml –h hostName –u userName –p pwd dbName tableName //這一種只用於顯示在當前的mysql客戶端,不保存到文件當中;

相關說明:-X代表的是文件的格式是XML,然後-e一寫不能掉,還有就是要用雙引號將要操作的語句括起來;單引號不行;

例如:mysql –X –hlocalhost –uroot –p –e 「use test;select * from pet;」E:\db\out.xml

從XML文件導入數據到資料庫:

Insert into tableName values(1,load_file(『filepath』));

例如:insert into pet values(1,load_file(「E:\db\out.xml」));

查看資料庫狀態與查詢進程:

Show status;//查看狀態

Show processlist;//查看進程

更改用戶名,用以下命令:

Update set user=」新名字」 where user=」舊用戶名」;

給資料庫用戶設置管理員許可權:

Mysqladmin –h host –u username –p pwd;

以root用戶為例;

Mysqladmin –h localhost –u root –p 123;

存儲過程與函數

存儲程序和函數分別是用create procedure和create function語句,一個程序要麼是一個程序要麼是一個函數,使用call語句來調用程序,並且程序只能用輸出變數傳回值;

要想在MySql5.1中創建子程序,必須具有create routine許可權,並且alter routine和execute許可權被自動授予它的創建者;

創建存儲過程:

首先聲明分隔符,所謂分隔符是指你通知mysql客戶端你已經輸入一個sql語句的字元或字元串符號,在這裡我們就以「//」為分隔符;

Delimiter 分隔符\

如:delimiter //

再創建存儲過程:

Create procedure 存儲過程名 ( )

聲明存儲過程開始:

begin

然後開始寫存儲過程體:

Select * from pet;

結束存儲過程:

End;//

剛剛的例子全部寫出來,完整的代碼就是:

Delimiter //

Create procedure spt () //注意,這個地方,存儲過程名與括弧之間要有個空格

Begin

Select * from pet;

End;//到這裡,整個存儲過程就算寫完啦

執行存儲過程:

Call 存儲過程名 ();//

如,我們執行剛剛創建的存儲過程,就是:

Call spt ();//

需要說明的是存儲過程名後面一定要加個空格,而後面那個括弧,則是用於傳送參數的參數列表;另外,我們創建存儲過程完成後,也只是創建了,但是只有調用call 存儲過程名 ();//後才算執行完畢,才能看到存儲過程的結果;

這樣可以么?

原創文章,作者:CGPEN,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129355.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
CGPEN的頭像CGPEN
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相關推薦

  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Python學習筆記:去除字元串最後一個字元的方法

    本文將從多個方面詳細闡述如何通過Python去除字元串最後一個字元,包括使用切片、pop()、刪除、替換等方法來實現。 一、字元串切片 在Python中,可以通過字元串切片的方式來…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python怎麼導入資料庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的資料庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • Python入門菜鳥教程的解析

    Python入門菜鳥教程是一份介紹Python編程語言基礎的教程。下面將從多個方面對Python入門菜鳥教程進行詳細的解析,讓初學者更好的理解Python編程。 一、Python …

    編程 2025-04-28
  • Think-ORM數據模型及資料庫核心操作

    本文主要介紹Think-ORM數據模型建立和資料庫核心操作。 一、模型定義 Think-ORM是一個開源的ORM框架,用於簡化在PHP應用中(特別是ThinkPHP)與關係資料庫之…

    編程 2025-04-27
  • 如何使用Python將CSV文件導入到資料庫

    CSV(Comma Separated Values)是一種可讀性高、易於編輯與導入導出的文件格式,常用於存儲表格數據。在數據處理過程中,我們有時需要將CSV文件導入到資料庫中進行…

    編程 2025-04-27
  • Python批量導入資料庫

    本文將介紹Python中如何批量導入資料庫。首先,對於數據分析和挖掘領域,資料庫中批量導入數據是一個必不可少的過程。這種高效的導入方式可以極大地提高數據挖掘、機器學習等任務的效率。…

    編程 2025-04-27

發表回復

登錄後才能評論