mysql 索引,视图,触发器
来源:互联网 发布:未来计价软件论坛 编辑:程序博客网 时间:2024/05/30 04:31
外键创建 CONSTRAINT 'fk' FOREIGN KEY ('bookType') REFERENCES 't_boolType' ('id')
constraint '外键名字' foreign key("要建立外键的字段名") reference "对应的表名"('表的字段')
例如: 表a
id int
name varchar
age varchar
和表b
id int
address varchar
aid int 外键字段
constraint 'fk foreign key('aid') reference 'a'(id') 这样就创建了a表和b表的外键关联了
左右连接查询
SELECT 属性名列表FROM 表名 1 LEFT|RIGHT JOIN表名 2 ON 表名1.属性名 1=表名2.属性名 2;
左连接查询: 可以查询出“表名 1”的所有记录,而“表名2”中,只能查询出匹配的记录;
有连接查询: 可以查询出“表名 2”的所有记录,而“表名1”中,只能查询出匹配的记录;
SELECT * FROM users;
#排序
SELECT * FROM users GROUP BY username;
#字段去除重复数据
SELECT DISTINCT username FROM users;
#对查询结果进行去重:自己斟酌
#对查询结果进行排序 asc 升序 desc降序
SELECT id FROM users GROUP BY id ASC;
SELECT id FROM users GROUP BY id DESC;
#group by 的使用
SELECT username,GROUP_CONCAT(PASSWORD) FROM users GROUP BY username;
#WITH ROLLUP 最后假如一个总行数
SELECT username,COUNT(PASSWORD) FROM users GROUP BY username WITH ROLLUP;
#分页查询 起始行,结束行 语法:SELECT 字段 1,字段 2...FROM 表名 LIMIT 初始位置,记录数;
SELECT * FROM users LIMIT 0,5;
SELECT * FROM users LIMIT 5,5;
SELECT * FROM users LIMIT 10,5;
#Exists 假如子查询查询到记录,则进行外层查询,否则,不执行外层查询;
SELECT username FROM users WHERE EXISTS(SELECT * FROM users WHERE id=1);
#Any 和 All的用法和Exists 类似
#使用 UNION 关键字是,数据库系统会将所有的查询结果合并到一起,然后去除掉相同的记录;
SELECT id FROM users UNION SELECT id FROM t_user;
#使用 UNION ALL,不会去除掉系统的记录;
SELECT id FROM users UNION ALL SELECT id FROM t_user;
#索引**********************************************************
#在已经存在的表上创建索引
#CREATE [ UNIQUE | FULLTEXT | SPATIAL ] INDEX 索引名
#ON 表名 (属性名 [(长度)] [ ASC | DESC]);
CREATE INDEX index_userName ON t_user4(userName);
#用 ALTER TABLE 语句来创建索引
#ALTER TABLE 表名 ADD [ UNIQUE | FULLTEXT | SPATIAL ] INDEX
#索引名 (属性名 [(长度)] [ ASC | DESC]);
ALTER TABLE t_user5 ADD INDEX index_userName(userName);
#创建多列索引
CREATE INDEX index_userName_password ON t_user4(userName,PASSWORD);
#删除索引 DROP INDEX 索引名 ON 表名 ;
DROP INDEX index_userName ON t_user5;
#视图**********************************************************
#CREATE [ ALGORITHM ={ UNDEFIEND | MERGE | TEMPTABLE }]
#VIEW 视图名 [ ( 属性清单) ]
#AS SELECT 语句
#[ WITH [ CASCADED | LOCAL ] CHECK OPTION ];
CREATE VIEW v1 AS SELECT * FROM t_book;
#CREATE [ ALGORITHM ={ UNDEFIEND | MERGE | TEMPTABLE }]
#VIEW 视图名 [ ( 属性清单) ]
#AS SELECT 语句
#[ WITH [ CASCADED | LOCAL ] CHECK OPTION ];
CREATE VIEW v1 AS SELECT * FROM t_book;
#在 views 表中查看视图详细信息
#DESCRIBE 语句查看视图基本信息
DESC v5;
SHOW TABLE STATUS LIKE 'v5';
#SHOW TABLE STATUS 语句查看视图基本信息
SHOW TABLE STATUS LIKE 't_book';
#SHOW CREATE VIEW 语句查看视图详细信息
SHOW CREATE VIEW v5;
#触发器*********************************************************
#创建只有一个执行语句的触发器 new 过度变量(指的是新插入的)
#CREATE TRIGGER 触发器名 BEFORE | AFTER 触发事件 ON 表名 FOR EACH ROW 执行语句
CREATE TRIGGER trig_book AFTER INSERT
ON t_book FOR EACH ROW
UPDATE t_bookType SET bookNum=bookNum+1 WHERE new.bookTypeId=t_booktype.id;
INSERT INTO t_book VALUES(NULL,'java好',100,'ke',1);
#创建有多个执行语句的触发器 old过度变量(指的是删除的)
#CREATE TRIGGER 触发器名 BEFORE | AFTER 触发事件 ON 表名 FOR EACH ROW
#BEGIN
# 执行语句列表
#END
DELIMITER |
CREATE TRIGGER trig_book2 AFTER DELETE
ON t_book FOR EACH ROW
BEGIN
UPDATE t_bookType SET bookNum=bookNum-1 WHERE old.bookTypeId=t_booktype.id;
INSERT INTO t_log VALUES(NULL,NOW(),'在book表里删除了一条数据');
DELETE FROM t_test WHERE old.bookTypeId=t_test.id;
END
|
DELIMITER ;
#查看触发器
SHOW TRIGGERS;
//删除触发器 DROP TRIGGER 触发器名;
DROP TRIGGER trig_book2 ;
- mysql索引视图触发器
- mysql 索引,视图,触发器
- 事务、触发器、视图、索引
- MYSQL数据库的索引、视图、触发器、游标和存储过程
- MYSQL数据库的索引、视图、触发器、游标和存储过程
- mysql索引,视图,游标,触发器,事物,存储过程
- Mysql 聚合函数,内外连接 , 视图 ,索引,触发器, 存储过程
- MYSQL数据库的索引、视图、触发器、游标和存储过程
- 【数据库】5索引、视图、触发器
- mysql事务视图触发器
- mysql视图和触发器
- 《MYSQL入门很简单》学习笔记2——表,索引,视图,触发器
- MySQL优化之表索引、视图、内置函数、预处理、事务处理、存储、触发器
- MySQL——索引 视图 存储过程 触发器 游标 表复制 内置函数 预处理
- MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
- MYSQL数据库高级应用宝典含实例(索引、视图、触发器、游标和存储过程)
- mysql 存储过程、变量、函数、触发器、游标、视图、查询、索引、事务
- mysql 视图,触发器,存储过程
- 惠普公司CEO认为:并购是主要的发展战略
- caffe安装详解
- Maven安装和配置,eclipse创建Maven项目
- ML Beginners
- 用命令生成git中的公钥
- mysql 索引,视图,触发器
- secureCRT安装步骤和破解,注册机
- javax.mail.AuthenticationFailedException: 530 Error: A secure connection is requiered(such as ssl).
- qt5 arm 开机启动
- 应对双11挑战,阿里巴巴智能化运维体系演进与建设
- boost asio strand 类分析
- Java
- Redis之skiplist
- Js简介和类型转换