Mysql基本查询、视图、索引、触发器
基本查询
1.修改
String sql="update smbms_user set userCode=?,userName=? where id=?";
2.删除用户
String sql="delete from smbms_user where id=?";
3.登录
select * from user where userName=#{userName} and userPassword=#{userPassword}
4.模糊查询
select * from smbms_bill WHERE productName like "%米%"
5.处理年龄
SELECT floor(DATEDIFF(NOW(),birthday)/365) as age, u.*,r.roleName as userRoleName from smbms_user as u,smbms_role as r WHERE u.userRole = r.id
6.查news表格,要求按主题生活(topic表格,有生活,娱乐等)分类,按创建时间降序查询,并取前5条
SELECT * from news WHERE ntid=1 ORDER BY ncreateDate ASC LIMIT 0,6;
7.查全部新闻按降序排序,并取前5条
SELECT * from easybuy_news ORDER BY createTime DESC LIMIT 0,5;
8.通过用户的id来查地址
select * from easybuy_user_address where userId=#{id}
9.插入
INSERT INTO ebook_category(id,name) VALUES(2,"oracle");
INSERT INTO ebook_entry(id,categoryId,title,summary,uploaduser,createdate) VALUES(2,1,"美食","美食摘要","tome",NOW());
10.创表
create table product(
pid int(4) primary key auto_increment,
name VARCHAR(20),
catalog_name varchar(20),
price int(10),
picture varchar(20) );
sql语句-视图
#视图。就是一个虚拟表,便于我们对数据进行处理。对视图的DML操作会改变基表数据,但不能改变基表结构,如加字段
为什么要使用视图:
<1>安全原因:限制数据的访问(如:社会保险基金表,可以使用视图只显示姓名和地址,而不显示社会的保险号和工资)
<2>减少复杂的slq语句查询,一般是用查询结果集返回作为视图
例:
create view empnew_view as select eid,ename,salary from emp //创建视图
select * from empnew_view; //查询视图
insert into empnew_view(eid,ename,salary) values(99,'qi1qi',66) //DML操作
update emp set ename="qiqi1" where eid=88 //DML操作
delete from emp where eid=88 //DML操作
DESC v;
#索引,方便我们的快速查找,方便我们快速查找,对SQL非常有帮助,并不是所有字段都用索引,
//前提,这个字段经常被当做查询对象操作,是一个表里面不是索引越多越好,根据你的具体,项目来设置,一张表里面与其他表有关系重合的,不适合加索引
#查看所有所有 index
SHOW INDEX FROM result;
TABLE 表 第二个字段0不可以重复,1代表可以重复
第三个参数:索引名字 第四个是索引下标,从1开始 第五个:字段名 第六个:排序规则, 默认是a
sql语句-触发器
//创建一个空部门表
CREATE TABLE emp(
eid INT(4),
ename VARCHAR(20),
epwd VARCHAR(20),
edate DATE
);
ALTER TABLE emp ADD salary DOUBLE(5,2);
INSERT INTO emp(eid,ename,epwd) VALUES (1,"aa","123");
#创建绩效表
CREATE TABLE jixiao(
jname VARCHAR(20),
jmoney DOUBLE(5,2)
);
#创建触发器:就相当于你的闹钟,在插入数据之前执行,当emp表插入数据的时候,另一个jixiao表也同时插入数据
CREATE TRIGGER t_money BEFORE INSERT ON emp FOR EACH ROW
INSERT INTO jixiao VALUES(new.ename,new.salary*0.5);
#创建触发器2:
CREATE TRIGGER t_mo BEFORE INSERT ON emp FOR EACH ROW
UPDATE emp SET money=new.money;
INSERT INTO emp(eid,ename,salary) VALUES(11,"ee",20);
UPDATE jixiao SET money=1;
SELECT * FROM jixiao;
#删除触发器
DROP TRIGGER t_money;
#展示触发器
SHOW TRIGGERS;
sql语句---索引
//创建一个主键索引(唯一,不能为空,不一定是INT)
ALTER TABLE emp ADD PRIMARY KEY(eid);
SHOW INDEX FROM emp;
//唯一索引(主键索引在一张表里只能有一个,唯一索引可以有多个);
#创建唯一索引,#在添加唯一索引时,乱码添加不成功
ALTER TABLE emp ADD UNIQUE(ename);
#删除索引
ALTER TABLE emp DROP INDEX ename;
#全局索引作用:便于我们快速查找到某一行
ALTER TABLE emp ADD INDEX(epwd);
Mysql基本查询、视图、索引、触发器的更多相关文章
- mysql八:视图、触发器、事务、存储过程、函数
一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...
- Oracle-序列-存储过程-视图-索引-触发器
课程介绍 1. 约束(掌握) 2. 序列(掌握) 3. 索引(掌握) 4. 视图(掌握) 5. 存储过程(掌握) 6. 自定义函数(掌握) 7. 触发器(掌握) 数据库对象的命名规则 1.对象名称必须 ...
- mysql七:视图、触发器、事务、存储过程、函数
阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名 ...
- Mysql(七):视图、触发器、事务、存储过程、函数
一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...
- mysql数据库之视图、触发器
视图 概念:通过查询得到的一张虚拟表,然后保存下来就是视图 视图的好处:如果要频繁使用某张虚拟表,那么就可以保存为视图,以后查找就直接拿这个视图就会非常方便 视图语法规则: create view t ...
- 关于阿里云Mysql分页查询不走索引的问题
需要修改阿里云中的MYSQL 配置参数 : eq_range_index_dive_limit 阿里云上默认是 10 , 这个参数 表示 in 查询 条件超过 10 个 就不走索引,走全表扫描.如果我 ...
- MySQL高级查询之索引创建、删除、增加、修改、慢sql、explain解释sql
day04数据库 昨日知识点回顾 1.单表操作 1.单表的操作 条件查询的优先级别: where > group by >having > order by > limit; ...
- mysql延迟查询, 覆盖索引使用例子
引用自 'mysql高性能' 5.3.6章节 不能使用覆盖索引的情况 : 解决办法 :
- MySQL like查询使用索引
在使用msyql进行模糊查询的时候,很自然的会用到like语句,通常情况下,在数据量小的时候,不容易看出查询的效率,但在数据量达到百万级,千万级的时候,查询的效率就很容易显现出来.这个时候查询的效率就 ...
- MySQL知识补充(表字段操作、视图、触发器、事物、存储过程、内置函数、流程控制、索引、慢查询)
今日内容概要 表字段操作补充(掌握) 视图(了解) 触发器(了解) 事务(掌握) 存储过程(了解) 内置函数(了解) 流程控制(了解) 索引(熟悉) 内容详细 1.表字段操作补充 # 1.添加表字段 ...
随机推荐
- 第一次面试经历(hr面)
经过介绍,我有幸去到一家国际背景的广告公司面试前端开发实习生.收到的邮件是复试通知,看来我已经跳过了第一轮面试. 来到hr请我进了一个小间坐下里填求职书,里面有各种个人信息,有兴趣爱好,有工作经历,以 ...
- 杨其菊201771010134《面向对象程序设计(java)》第十四周学习总结
第十四周学习总结 第一部分:理论知识 理论知识:本周学习Swing用户界面 内容:Swing与模型-视图-控制器设计模式:布局管理概述:文本输入 :选择组件:菜单:复杂的布局管理:对话框: 第二部分: ...
- 单点登录的三种实现方式 转自: https://blog.csdn.net/python_tty/article/details/53113612
单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任.单点登录在大型网站里使用得 ...
- RNQOJ 21 FBI数
如果字符串全是0输出B,全是1输出I,01混合输出F,如果字符串分解到只剩下一个字符的时候我们可以很简单的判断出来是B串还是I串,如果处在父节点的位置,这里运用递归,通过子节点的返回值来判断子节点是混 ...
- 检查SQL Server被哪个进程占用,且杀进程。
-----检查DB的名字---------------------------------------DECLARE @dbName varchar(50)SET @dbName='RegisterO ...
- AHOI——Day1个人感悟
今天,是个bilibili的日子.(嗯?什么意思?) 洛谷已经尽力了: 于是我带着洛谷的祝福,来到了AHOI的考场--合肥一中. 其实我是考完才签到的,我一大早五点多就起来了,到考场后,在肯德基吃了早 ...
- 【翻译】Flume 1.8.0 User Guide(用户指南) Sink
翻译自官网flume1.8用户指南,原文地址:Flume 1.8.0 User Guide 篇幅限制,分为以下5篇: [翻译]Flume 1.8.0 User Guide(用户指南) [翻译]Flum ...
- JPA的初级CRUD-01
一.JPA 1.1 什么是JPA JPA:(Java Persistence API) ORM的规范 JPA是规范,Hibernate是它的实现(不唯一,但最好) 最底层的操作还是JDBC(引入驱动包 ...
- Error creating bean with name 'student': Unsatisfied dependency expressed through field 'teacher'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating
有 有参构造但是没有无参构造...
- Java JSONArray for循环 remove成员的一个好算法
好久没写日志了,今天来写一个,JSONArry fro循环判断value,移除不需要的,不需再将JSONArry再次转换成 map或list. JSONArray移除成员只能通过for遍历取成员,判断 ...