MySQL
文章平均质量分 84
金州饿霸
这个作者很懒,什么都没留下…
展开
-
Redis缓存技术
https://blog.csdn.net/qq_42737056/article/details/86531310原创 2020-01-09 11:46:33 · 101 阅读 · 0 评论 -
使用存储过程
前言:存储过程的好处1、使用了存过程,很多相似性的删除,更新,新增等操作就变得轻松了,并且以后也便于管理!2、存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快。 3、存储过程可以接受参数、输出参数、返回单个或多个结果集以及返回值。可以向程序返回错误原因。 4、存储过程运行比较稳定,不会有太多的错误。只要一次成功,以后都会按这个程序运行。 5、存储过程主要是在服...原创 2018-06-04 11:27:17 · 259 阅读 · 0 评论 -
MySQL用通配符进行过滤
1 LIKE操作符:在搜索子句中使用通配符,必须使用LIKE操作符。2 百分号%通配符:在搜索串中,%表示任何字符出现的任意次数。SELECT prod_id, prod_name FROM products WHERE prod_name LIKE'jet%';将检索以jet开头的词,注意搜索是区分大小写的,Jetpack将与 ‘jek%'不匹配。注意尾空格会干扰通赔符的匹配,一般的在末尾加个%...原创 2018-05-16 21:28:51 · 245 阅读 · 0 评论 -
MySQL之过滤数据
1 使用WHERE字句:数据根据WHERE子句指定的搜索条件进行过滤。SELECT prod_name, prod_price FROM products WHERE product_price=2.50;WHERE子句的位置:在同时使用ORDER BY 和WHERE子句时,应该 ORDER BY位于WHERE之后,否则会产生错误。2 WHERE子句操作符:= 等于; <>不等于; != 不等于;...原创 2018-05-16 20:56:40 · 279 阅读 · 0 评论 -
MySQL之排序检索数据
1 排序数据:SELECT prod_name FROM products ORDER BY product_name;表示按字母顺序升序排列,输出prod_name。2 按多个列排序:SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price, prod_name;表示如果prod_price列中的值相同时,会按...原创 2018-05-16 20:43:39 · 148 阅读 · 0 评论 -
使用视图
一、视图 视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。二、使用视图的意义 1.替代重复的SQL语句; 2.简化复杂的SQL操作。在编写查询后,可以方便地重用它,而不必知道它的基本查询细节; 3.使用表的组成部分而不是整个表; 4.保护数据。可以给用户授予表的特定部分的访问权限而不是整个表的访问权限; 5.更改数据格式和表示。视图可返回与底层表的表示...原创 2018-06-03 21:00:25 · 3758 阅读 · 0 评论 -
创建和操纵表
一、表的创建一般我们有两种创建表的方法: 1.使用交互式创建和管理表的工具。(比如Navicat,MySQLworkBench) 2.直接使用MySQL的语句创建。1.1表的创建基础CREATE TABLE customers( 列 名 类型 是否可空 设置了自增 最后加上了逗号 cust_id int NOT NULL AUTO_INCREMENT, cust_...原创 2018-06-03 19:43:26 · 141 阅读 · 0 评论 -
MySQL之检索数据
1 检索单个列:SELECT pro_name FROM products;代码规范:一般来说对SQL中关键字使用大写,而对所有列和表名用小写,这样代码更容易阅读和调试。2 检索多个列:当选择多个列时,一定要在列名之间加上逗号,SELECT prod_id, prod_name, prod_price FROM products;3 检索所有列:SELECT语句可以检索所有的列而不必逐个列出他们,...原创 2018-05-16 17:05:03 · 463 阅读 · 0 评论 -
更新和删除数据
更新数据,即对表中存在的数据进行修改。 SQL语句: UPDATE 语句 基本语法:UPDATE 表名 SET 字段名1=值1[,字段名2=值2,...] [WHERE 条件表达式]语法说明: 字段名1,字段名2,用于指定更新的字段名称 值1,值2,用于表示字段更新的新数据。 where条件表达式,可选参数,用于指定更新数据需要满足的条件。UPDATE语句在更新表中数据时可 部分、全部更...原创 2018-06-03 16:53:15 · 1395 阅读 · 0 评论 -
插入数据
INSERT 用来将行插入(或添加)到数据库表。插入有几种方式:插入完整的行;插入行的一部分;插入某些查询的结果。一、插入完整的行INSERT INTO customersVALUES('1000000006', 'Toy Land', '123 Any Street', 'New York', 'NY', '11111',...原创 2018-06-03 15:46:23 · 233 阅读 · 0 评论 -
使用游标
创建游标首先在MySql中创建一张数据表:[sql] view plain copyCREATE TABLE IF NOT EXISTS `store` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `count` int(11) NOT NULL DEFAULT '1', PRIM...原创 2018-06-04 20:02:01 · 186 阅读 · 0 评论 -
MySQL无法添加外键约束(cannot add foreign key constraint)
第一,请检查数据类型是否一致!第二,请检查数据精度是否一致,即数据的大小一致!第三,就连字符集和排序规则也要一致好吧!!!第四,如果上面的都确定没错,请保存数据,删除数据库,再来一遍。...原创 2018-05-28 18:11:46 · 702 阅读 · 0 评论 -
使用触发器
触发器:它是一个特殊的存储过程,它是MySQL在insert、update、delete的时候执行,自动执行,不能直接调用。它包含四个要素:1. 监视地点(table)2. 监视事件(insert/update/delete)3. 触发时间(after/before)4. 触发事件(insert/update/delete触发器1语法:create trigger trigger_nameaf...转载 2018-06-05 09:34:16 · 281 阅读 · 0 评论 -
c3p0和dbcp的使用和区别
一、spring配置文件引入 <!-- 配置dbcp数据源 --> <bean id="dataSource2" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName&quo原创 2018-12-10 11:11:20 · 302 阅读 · 0 评论 -
Java进阶之JDBC知识点总结
https://blog.csdn.net/u011460827/article/details/41687097转载 2018-10-18 16:17:34 · 135 阅读 · 0 评论 -
JDBC利用反射及JDBC元数据编写通用的查询操作
由Java反射到赋值再到查询的流程图: 通用获取查询方法: * 利用泛型再简化: * 1. 利用SQL进行查询,得到结果集 * 2. 利用发射创建实体类的对象,创建Student对象 * 3. 获取结果集的列的别名flowId idCard examCard studentName * 4. 再获取结果集每一列的值,结合3得到一个Map,...原创 2018-10-18 15:46:09 · 221 阅读 · 0 评论 -
JDBC通过PreparedStatement实现简单的录入数据的操作
1.首先先创建一张表:2 实现从控制台输入学生的信息的功能: /** * 从控制台输入学生的信息 * @return */ private Student getStudentFromConsole() { Scanner scanner = new Scanner(System.in); Student student = new Student(0...原创 2018-10-14 11:09:58 · 763 阅读 · 0 评论 -
JDBC编程之预编译SQL与防注入式攻击以及PreparedStatement
在JDBC编程中,常用Statement、PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedStatement 用于执行参数化查询,而 CallableStatement则是用于存储过程。 1、Statement 该对象用于执行静态的 SQL 语句,并且返回执行...原创 2018-10-14 10:44:58 · 412 阅读 · 0 评论 -
浅谈Javaweb经典三层架构和MVC框架模式
浅谈javaweb三大框架和MVC设计模式小序:博主以前在学javaweb的时候开始总不理解javaweb三大框架和MVC框架模式,虽然没有把两者混为一谈,但是也是很晕菜。作为一个Java开发程序员的话,特别是B/S架构的开发来说,MVC框架模式是我们必须要掌握的!!!一、MVC设计模式1.MVC的概念首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程...转载 2018-10-14 09:16:59 · 1531 阅读 · 0 评论 -
通过JDBC连接数据库再向数据库里录入数据
一 首先第一步我们现在数据库里创建一张examstudent空表:二 接着对应着表里内容创建一个学生类:package com.atguigu.jdbc;public class Student { // 流水号 private int flowId; // 考试类型 private int type; // 身份证号 private String idCard;...原创 2018-10-13 14:51:32 · 2157 阅读 · 0 评论 -
管理事务处理
并不是所有的引擎都支持事务处理,常见的引擎有:InnoDB和MyISAM。InnoDB支持事务处理,而MyISAM不支持。这里我们可以回顾一下:MyISAM是支持全文本搜索的,而InnoDB是不支持全文不搜索的。因此,在选择引擎的时候,我们首先明白,我们准备干什么,如果我们需要进行全文本搜索,则我们就选择MyISAM引擎。如果我们需要进行事务处理,则我们就选择InnoDB引擎。这点我们需要牢记。哪...原创 2018-06-08 16:57:43 · 317 阅读 · 0 评论 -
如何在MySQL中清屏幕
1 在window环境下 mysql的命令行无法实现清屏操作,但是你可以先\q退出来,然后cmd命令行是可以清屏的,cls 回车就是了;2在linux环境下mysql清屏用clear 或 \c。...原创 2018-05-16 15:49:40 · 11250 阅读 · 4 评论 -
MySQL中show的一些用法
1 show databases:显示当前可用的数据库;2 show tables/describe tables/desc tables: 显示数据库内表的列表;3 show status:显示广泛的服务器状态信息;4 show create database/show create table:显示创建特定数据库或者表;5 show grants:显示授权用户的安全权限;6 show erro...原创 2018-05-16 15:34:36 · 872 阅读 · 0 评论 -
MySQL之汇总数据
1、聚集函数聚集函数是运行在行组上,计算和返回单个值的函数。SQL聚集函数函数说明AVG()返回某列的平均值COUNT()返回某列的行数MAX()返回某列的最大值MIN()返回某列的最小值SUM()返回某个列之和(1)、AVG()函数可以返回所有列的平均值,也可以返回特定列的平均值。[sql] view plain copySELECT AVG(prd_price) AS avg_price FR...原创 2018-05-19 10:11:16 · 616 阅读 · 0 评论 -
MySQL的简单操作
1创建数据库的语法格式:CREATE DATABASE[IF NOT EXIST] db_name(db_name是数据库的名称)[DEFAULT] CHARACTER SET [=] charset_name(指定数据库默认的字符集)一般来说,我们用下面的这个基本的SQL语句来创建数据库:CREATE DATABASE database_name(database_name表示数据库的名称);2...原创 2018-05-13 09:43:36 · 193 阅读 · 0 评论 -
操作MySQL数据库的sql语句是否区分大小写?
一、在windows系统中不区分大小写: "SELECT * FROM USER WHERE USERNAME='....' " 和 "select * from user where username=‘....’ "查询结果是一样的。二、在Linux和Unix系统中字段名、数据库名和表名要区分大小写。 假如说在你的MySQL数据库中的数据库名为“TEST”,表名为“USER”,某个字段名为...原创 2018-05-13 09:06:46 · 5902 阅读 · 0 评论 -
MySQL之使用数据处理函数
1 文本处理函数:SELECT vend_name, Upper(vend_name) AS vend_upcase FROM vendors ORDER BY vend_name;1本例子中vend_name出现了两次是为了存储值,第二次是作为列(vend_name_upcase)转换为大写。这里 vend_name 在原始列中本身是小写的,现在由于我们使用了文本函数的原因,他将变成大写。这里列...原创 2018-05-18 16:24:30 · 327 阅读 · 0 评论 -
MySQL常用命令
1修改用户密码的命令:mysqladmin -u用户名 -p旧密码 password新密码;2 显示数据库的命令:show databases;(记得要是一次输入正确才行,注意分号不能少)常见错误:很多人会很好奇为什么我输了几次show databases 就是没有显示出数据库,下面我来和你分析一下:问题:在mysql安装好后,新手用show databases命令往往会出现如下图所示的问题,原因...原创 2018-05-12 15:35:44 · 140 阅读 · 0 评论 -
MySQL登录与退出
1 查看版本信息并退出:mysql -V;2 登录:mysql -h127.0.0.1(连接到主机的地址上)-u(用户)root -p(密码);3 退出:(1)exit (2)quit (3)\q.原创 2018-05-12 14:50:32 · 6041 阅读 · 0 评论 -
MySQL的环境变量配置
安装完MySQL之后,大家可以直接打开MySQL的client输入命令,操作MySQL数据库。当然也可以使用cmd命令行输入MySQL命令操作MySQL数据库。但每次通过cmd打开MYSQL都要通过cd进入bin(C:\Program Files\MySQL\MySQL Server 8.0\bin)目录下然才能执行mysql.exe才可以运行,操作比较繁琐,因此我们来配置一下环境变量。1...原创 2018-05-12 12:13:43 · 8663 阅读 · 0 评论 -
输入密码登录MySQL闪退解决方案
1 案例说明 最近一直在用 MySQL 数据库演示基础功能,但是这两天忽然出现了一个问题,那就是:在启动 MySQL 服务端并输入密码后,出现闪退现象。 之后,在网上搜了搜,发现出现这种问题很常见,大多数原因可能是在咱们使用安全软件的时候,无意中关闭了 MySQL 服务。此外,如果 MySQL 服务已经启动了,但还是出现了闪退的现象,那就可能是 MySQL 的配置出现了问题。2 解决方案 在...原创 2018-05-12 11:26:47 · 4089 阅读 · 0 评论 -
MySQL之创建计算字段
1 拼接字段:在MySQL的SELECT与语句中,可以使用Concat()函数来拼接两个列,而多数的DBMMS却使用+或||来实现拼接。举个例子:SELECT Concat(vend_name, '(', vend_country, ')' ) FROM vendors ORDER BY vend_name;需要拼接的字符串之间用都好隔开。Trim()函数:去掉串左右两边的空格;RTrim(...原创 2018-05-18 15:27:51 · 795 阅读 · 0 评论 -
全文本搜索
一、理解全文本搜索 MyISAM支持全文本搜索,InnoDB不支持。 通配符与正则表达式匹配的性能较低,通常会匹配表的所有行,而且这些搜索极少使用索引,且返回的结果不智能化。在使用全文本搜索时,mysql不需要分别查看每个行,不需要分析和处理每个词。 为了进行全文本搜索,必须在被搜索的列建立索引,在建立索引后,使用match()与against()完成搜索,match指定被搜索...原创 2018-06-03 11:08:52 · 1723 阅读 · 4 评论 -
组合查询
1、大多数的SQL查询只包含从一个或多个表中返回数据的单条SELECT语句,但是,SQL也允许执行多个查询(多条SELECT语句),并将结果作为一个查询结果集返回。这些组合查询通常称为并或复合查询。主要有两种情况需要使用组合查询:(1)在一个查询中从不同的表返回结构数据(2)对一个执行多个查询,按一个查询返回数据2、使用UNION使用UNION很简单,所要做的只是给出每条SELECT语句,然后再每...原创 2018-06-03 09:47:07 · 900 阅读 · 0 评论 -
联结表
一、联结表基础知识1、关系表把信息分解成多个表,一类数据一个表,各表通过某些常用值(即关系设计中的关系(relational))互相关联;2、外键(foreign key):外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系3、联结表的优点:①数据信息不重复,从而不浪费时间和空间②如果某个数据信息变动,可以只更新该表中的某个记录,相关表数据不用变更③数据无重复,可以更有效的存储和...原创 2018-06-02 17:24:54 · 187 阅读 · 0 评论 -
如何使用gitbash来链接MySQL
最近在重拾MySQL,因为平时用的shell是git的gitbash比较多【毕竟好看-。-】,所以练习连接MySQL的时候用的也是gitbash,但是貌似没有相关的命令,上网寻找了相关的资料,发现解决方法是直接使用winpty调用下windows命令就可以了。 具体使用方法是这样的:1 winpty mysql -uroot -p 这样就能在gitbash中链接上数据库了,同样的,使用wi...原创 2018-05-26 16:04:09 · 422 阅读 · 0 评论 -
MySQL的约束
1 MySQL常用的几种约束:(1)非空约束 NOT NULL; (2) 主键约束 PRIMARY KEY; (3)唯一约束 UNIQUE; (4) 默认约束 DEFAULT; (5) 外键约束 FOREIGN KEY;2 非空约束:语法规则:列名 数据类型 NOT NULL(在创建表的时候添加);也可以通过修改表的方式添加非空约束:ALTER TABLE bookinfo MODIFY...原创 2018-05-14 11:28:20 · 250 阅读 · 0 评论 -
修改数据库表
1 添加列:ALTER TABLE <表名> ADD <新列名> <数据类型> [FIRST|ARTER 已存在的列名];2 修改列名:ALTER TABLE <表名> CHANGE <旧列名> <新列名> <新数据类型>;3 修改列的数据类型:ALTER TABLE <表名&原创 2018-05-13 21:28:51 · 7708 阅读 · 0 评论 -
创建和查看数据库表
1创建数据库表:CREATE TABLE <表名>( 列名1 数据类型 [列级别约束条件][默认值], 列名2 数据类型 [列级别约束条件][默认值], …… [表级别约束条件]);2 查看数据库表:(1)查看数据列表:SHOW TABLES [FROM db-name];(2)查看数据表的基本结构: 法一:SHOW COLUMNS FROM t...原创 2018-05-13 17:11:02 · 5318 阅读 · 0 评论 -
MySQL之子查询
了解子查询的最好方法就是看例子现在我们来看看orders表和orderitems表orders表 orderitems表 现在我想要查找所有订购物品id为TNT2的客户,怎么查? orderitems里有prod_id orders表里有cust_id 但这两项在两张表里,怎么查? 我们说,关系表关系表,两张表中肯定有关联的项,一比较,发现都有一个order_num列。下面是检索思路通过order...原创 2018-05-19 16:28:41 · 133 阅读 · 0 评论