MySQL数据库高级操作
2014-07-24 13:31
351 查看
前面已经完成了数据库的一些基本操作,今天要写的主要是一些数据库的较高级的操作。
1、索引
索引是一种单独的、存储在磁盘上的数据结构。使用索引可以快速查找某个或者多列中有特定值得行。
a)创建索引:
可以在简历表的同时进行创建,如:
可以在已存在的表上简历索引
b)查看索引
c)删除索引
2、视图
视图就是一个虚拟表,是由数据库中表导出来的。
a)创建视图
b)查看视图
c)修改视图
d)更新视图
e)删除视图
3、触发器
触发时间:对于表 BEFORE、AFTER
对于视图:INSTEAD OF
触发时间:INSERT UPDATE DELETE
a)建立触发器
b)删除
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
![](http://img.blog.csdn.net/20140724130920375?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHVuaXhpYW5zaGkxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图1
![](http://img.blog.csdn.net/20140724131831625?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHVuaXhpYW5zaGkxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图2
![](http://img.blog.csdn.net/20140724132114835?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHVuaXhpYW5zaGkxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图3
![](http://img.blog.csdn.net/20140724132127128?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHVuaXhpYW5zaGkxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图4
![](http://img.blog.csdn.net/20140724132135053?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHVuaXhpYW5zaGkxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图5
![](http://img.blog.csdn.net/20140724132148484?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHVuaXhpYW5zaGkxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图6
![](http://img.blog.csdn.net/20140724132155411?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHVuaXhpYW5zaGkxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图7
![](http://img.blog.csdn.net/20140724131928593?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHVuaXhpYW5zaGkxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图8
![](http://img.blog.csdn.net/20140724131936109?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHVuaXhpYW5zaGkxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图9
1、索引
索引是一种单独的、存储在磁盘上的数据结构。使用索引可以快速查找某个或者多列中有特定值得行。
a)创建索引:
可以在简历表的同时进行创建,如:
>CREATE TABLE table1 { ID INT(20), NAME VARCHAR(20), INDEX INDEX_ID(ID), INDEX INDEX_ID(ID,NAME) };
可以在已存在的表上简历索引
>ALTER TABLE table1 ADD INDEX INDEX_ID(ID); #结果如图1 >CREATE INDEX INDEX_NAME ON table1(NAME);
b)查看索引
>SHOW INDEX FROM table1 \G; #结果如图2
c)删除索引
>ALTER TABLE table1 DROP INDEX INDEX_ID; #结果如图3 DROP INDEX INDEX_NAME ON table1;
2、视图
视图就是一个虚拟表,是由数据库中表导出来的。
a)创建视图
>CREATE VIEW VIEW_T AS SELECT IDD NAME FROM table1; #结果如图5 >CREATE VIEW VIEW_T (ID1,NAME1) AS SELECT IDD NAME FROM table1;
b)查看视图
>DESC VIEW_T; #结果如图6
c)修改视图
>CREATE OR REPLACE VIEW VIEW_T AS SELECT IDD FROM table1; #结果如图8 >ALTER VIEW VIEW_T AS SELECT IDD FROM table1;
d)更新视图
UPDATE VIEW_T SET IDD = 10 WHERE IDD = 1; #结果如图7
e)删除视图
>DROP VIEW IF EXISTS VIEW_T;
3、触发器
触发时间:对于表 BEFORE、AFTER
对于视图:INSTEAD OF
触发时间:INSERT UPDATE DELETE
a)建立触发器
CREATE TRIGGER trigger_t BEFORE INSERT ON table1 FOR EACH ROW BEGIN INSERT INTO table2 SET a2 = NEW.a1; UPDATE test1 SET b2 = b2 + 4; DELETE FROM test3 WHRER a3 = NEW.a1; END
>CREATE TABLE test1(a1 INT(20)); #结果如图9 CREATE TABLE test1(a1 INT(20)); >CREATE TRIGGER TRI_test BEFORE INSERT ON test1 FOR EACH ROW INSERT INTO test2 SET a2 = NEW.a1; INSERT INTO test1 VALUE(1),(1),(3),(5),(8); SELECT * FROM test1; SELECT * FROM test2;
b)删除
>DROP TRIGGER TRI_test
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
图1
图2
图3
图4
图5
图6
图7
图8
图9
相关文章推荐
- 哈工大 数据库实验2-使用高级语言操作MySQL数据库
- python操作mysql数据库(高级教程)
- MySql数据库数据更新操作其高级应用
- Python高级篇————4、Python操作mysql数据库
- MySQL数据库的数据高级操作(复习4)
- MySql数据库数据更新操作其高级应用
- JavaScrip高级应用:操作模态与非模态对话框
- C语言对mysql数据库的操作
- 接:JavaScrip高级应用:操作模态与非模态对话框
- JavaScrip高级应用:操作模态与非模态对话框
- Eclipse高级操作 远程调试
- Javascript高级应用:文件操作篇
- 关于PHP中操作MySQL数据库的一些要注意的问题
- 关于PHP中操作MySQL数据库的一些要注意的问题
- PHP4与MySQL数据库操作
- sql高级操作
- mysql数据库基本操作总结
- VB.net中操作MySql数据库
- 图解MySQL数据库的安装和操作1 (转)
- JavaScrip高级应用:操作模态与非模态对话框