Rumah pangkalan data tutorial mysql 《MySQL必知必会》读书笔记_4_MySQL

《MySQL必知必会》读书笔记_4_MySQL

May 31, 2016 am 08:46 AM

PS:一个实际的存储过程案例

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_delete_article_by_id`(IN `id` int)BEGIN#Routine body goes here...DECLARE temp INT;SET @aid = id;SELECT COUNT(*) FROM gk_reply_article WHERE a_id = @aid INTO temp;IF(temp  0) THENDELETE FROM gk_reply_article WHERE a_id = @aid;END IF;SELECT COUNT(*) FROM gk_like_article WHERE a_id = @aid INTO temp;IF(temp  0) THENDELETE FROM gk_like_article WHERE a_id = @aid;END IF;SELECT COUNT(*) FROM gk_article WHERE id = @aid INTO temp;if(temp  0) THENDELETE FROM gk_article WHERE id = @aid;END IF;END
Salin selepas log masuk

 

 

游标是一个存储在MySQL服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其其中的数据。

CREATE PROCEDURE processorders()BEGINDECLARE o INT;DECLARE ordernumbers CURSOR #定义和命名游标FORSELECT order_num FROM orders;OPEN ordernumbers; #打开游标FETCH ordernumbers INTO o;CLOSE ordernumbers; #关闭游标END
Salin selepas log masuk

 

 

 

隐含关闭:如果你不明确关闭游标,MySQL将会在达到END语句时自动关闭它。

 

触发器唯一的命名

触发器关联的表

触发器一响应的活动:UPDATE、INSERT或UPDATE

触发器何时执行

只有表才支持触发器,视图不支持

 

事务处理,可以用来维护数据库的完整性,它保证成批的MySQL操作要么完全执行,要么完全不执行。

 

MySQL是用一系列的默认设置预先配置的,这些设置通常在开始的时候很好用。但是一段时间后你可能需要调整内存、缓冲区大小等。(为查看当前设置,可使用SHOW VARIABLES;和SHOW STATUS;)

如果遇到显著的性能不良,可使用SHOW PROCESSLIST显示所有活动进程,还可以用KILL命令终结某个特定的进程。

 

mysqldump数据备份:

1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql

2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql

3.3.导出一个数据库结构mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table  

假设我们的任务是要备份一个位于192.168.1.2服务器上,名称为backup_test的数据库,并把备份文件放到D:/bak/的文件夹中。又假设我们的操作系统为windows xp,于是我们可以用以下的方法执行备份操作:我们可以使用windows自带的命令提示符(调用命令提示符的方法有多种,最常用的就是点击开始菜单,选择“运行”,输入cmd的命令就可以启动了),在命令提示符中输入以下命令:

mysqldump -u backup -p 123456 -h 192.168.1.2 backup_test > D:/bak/bakcup.sql在这段命令中:mysqldump 是myqldump的程序名了;-u 是数据库的用户名,后面紧跟着用户名backup;-p 是数据库的密码,后面同样紧跟着密码,注意是-p和密码之间不能有空格;-h 是数据库的地址,如果没有此项表明是备份本地的数据库;backup_test 要备份的数据库名称;

> 表明该数据库备份到后面的文件,紧跟当然是备份文件的地址了,注意要用绝对文件路径,文件的后缀也可以用.txt。一旦执行该命令后,mysqldump立即执行备份操作。远程备份数据库要似乎网络的情况,一般远程备份需要一定的时间的。

 

或者使用mysqlhotcopy。

 

BACKUO TABLE 或 SELECT INTO OUTFILE转储所有数据到某个外部文件。

 

为保证所有数据都被写到磁盘,可能需要在进行备份前使用FLUSH TABLES语句。

 

#维护数据库,显示数据库表状态

ANALYZE TABLE gk_article

#发现和修复表问题

CHECK TABLE gk_article

 

#显示所有可用的字符集以及每个字符集的描述和默认校对。

SHOW CHARACTER SET

#显示所有可用校对

SHOW COLLATION

 

默认端口:3306

 

终结

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table? Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table? Mar 19, 2025 pm 03:51 PM

Artikel ini membincangkan menggunakan pernyataan jadual Alter MySQL untuk mengubah suai jadual, termasuk menambah/menjatuhkan lajur, menamakan semula jadual/lajur, dan menukar jenis data lajur.

Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL? Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL? Mar 18, 2025 pm 12:01 PM

Artikel membincangkan mengkonfigurasi penyulitan SSL/TLS untuk MySQL, termasuk penjanaan sijil dan pengesahan. Isu utama menggunakan implikasi keselamatan sijil yang ditandatangani sendiri. [Kira-kira aksara: 159]

Bagaimana anda mengendalikan dataset besar di MySQL? Bagaimana anda mengendalikan dataset besar di MySQL? Mar 21, 2025 pm 12:15 PM

Artikel membincangkan strategi untuk mengendalikan dataset besar di MySQL, termasuk pembahagian, sharding, pengindeksan, dan pengoptimuman pertanyaan.

Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)? Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)? Mar 21, 2025 pm 06:28 PM

Artikel membincangkan alat MySQL GUI yang popular seperti MySQL Workbench dan PHPMyAdmin, membandingkan ciri dan kesesuaian mereka untuk pemula dan pengguna maju. [159 aksara]

Bagaimana anda menjatuhkan jadual di MySQL menggunakan pernyataan jadual drop? Bagaimana anda menjatuhkan jadual di MySQL menggunakan pernyataan jadual drop? Mar 19, 2025 pm 03:52 PM

Artikel ini membincangkan jadual menjatuhkan di MySQL menggunakan pernyataan Jadual Drop, menekankan langkah berjaga -jaga dan risiko. Ia menyoroti bahawa tindakan itu tidak dapat dipulihkan tanpa sandaran, memperincikan kaedah pemulihan dan bahaya persekitaran pengeluaran yang berpotensi.

Bagaimana anda mewakili hubungan menggunakan kunci asing? Bagaimana anda mewakili hubungan menggunakan kunci asing? Mar 19, 2025 pm 03:48 PM

Artikel membincangkan menggunakan kunci asing untuk mewakili hubungan dalam pangkalan data, memberi tumpuan kepada amalan terbaik, integriti data, dan perangkap umum untuk dielakkan.

Bagaimana anda membuat indeks pada lajur JSON? Bagaimana anda membuat indeks pada lajur JSON? Mar 21, 2025 pm 12:13 PM

Artikel ini membincangkan membuat indeks pada lajur JSON dalam pelbagai pangkalan data seperti PostgreSQL, MySQL, dan MongoDB untuk meningkatkan prestasi pertanyaan. Ia menerangkan sintaks dan faedah mengindeks laluan JSON tertentu, dan menyenaraikan sistem pangkalan data yang disokong.

Bagaimanakah saya menjamin MySQL terhadap kelemahan biasa (suntikan SQL, serangan kekerasan)? Bagaimanakah saya menjamin MySQL terhadap kelemahan biasa (suntikan SQL, serangan kekerasan)? Mar 18, 2025 pm 12:00 PM

Artikel membincangkan mendapatkan MySQL terhadap suntikan SQL dan serangan kekerasan menggunakan pernyataan yang disediakan, pengesahan input, dan dasar kata laluan yang kuat. (159 aksara)

See all articles