![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据库
数据库相关,,,,,,,,,,,,,,,,,,
静安书以沫
知识是一点点积累的,路是一步步走出来的
展开
-
达梦用户登录锁定,登录次数超过限制,登录失败
【代码】达梦用户登录锁定,登录次数超过限制,登录失败。原创 2022-10-19 15:21:34 · 2134 阅读 · 0 评论 -
mysql进阶笔记
一、索引索引是帮助mysql高效获取数据的数据结构。1.优势和劣势优势:提高检索效率降低数据排序成本劣势:占用空间降低更新表效率(增删改),因为索引也要进行更新。2.索引结构BTREE 索引 innodb存储引擎主要用这个HASH 索引R-TREE 索引FULL-TEXT 全文索引MYSQL主流索引结构平常说的索引,通常指B+树(多路搜索树)结构组织的索引。其中 聚集索引、符合索引、前缀索引、唯一索引默认使用B+tree索引,统称索引。1.BTREE结构多路平衡搜索树原创 2022-04-08 14:35:08 · 945 阅读 · 0 评论 -
错误:myql5.7不兼容group by
报错:Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘database_tl.emp.id’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by解决方法:方法一:修改mysql5.7的配原创 2021-11-05 21:18:07 · 388 阅读 · 0 评论 -
记一次mysql查询问题,用group by和case when实现多行数据合并到一行
最终的查询语句是这样的:SELECT source_code,source_name,MAX(CASE plan_id WHEN '1001' THEN is_clean ELSE NULL END) is_clean,MAX(CASE plan_id WHEN '1001' THEN unit_cost ELSE NULL END) unit_cost,MAX(CASE plan_id WHEN '1001' THEN capa_scale ELSE NULL END) capa_scale,M原创 2021-08-04 12:54:41 · 1564 阅读 · 0 评论 -
sqlyog远程连接linux数据库
sqlyog远程连接linux数据库首先查看linux数据库的ip (linux能联网)ifconfig其次进行mysql的配置启动MySQL服务/etc/init.d/mysqld start登录mysqlmysql -u root如果之前mysql设置过密码请用这个mysql -u root -p 然后输入密码进入mysql之后:#显示端口号:show variables like '%port%';#切换数据库:use mysql;#设置密码:root用户原创 2021-01-16 21:49:08 · 1455 阅读 · 0 评论 -
mysql编写触发器报错
mysql编写触发器报错触发器创建代码/* 触发器 */CREATE TRIGGER chufaqi BEFORE INSERT ON `customer`FOR EACH ROW BEGIN /*INSERT INTO test(`name`,account,pwd,money) SELECT c.`name`,c.`account`,c.`pwd`,c.`money` FROM customer AS c ORDER BY id DESC LIMIT 1;*/ INSERT INTO原创 2021-01-16 10:07:17 · 886 阅读 · 0 评论 -
mysql代码综合
`testtable`mysql -u root -p SHOW DATABASES;CREATE DATABASE mydb1 mydb2;CREATE DATABASE mydb2 CHARACTER SET gbk;CREATE DATABASE IF NOT EXISTS mydb4;#不存在才创建SHOW CREATE DATABASES mydb1;SHOW GLOBAL VARIABLES LIKE 'port';ALTER DATABASE mydb2 CHARACTER S原创 2020-09-06 17:57:20 · 307 阅读 · 0 评论 -
mysql学习-sql语言分类
1 数据查询语言DQL数据查询语言DQL用于检索数据库常用select ,where ,order by,group by ,having2 数据操作语言DML数据操纵语言DML用于改变数据库数据主要有三种形式:插入:INSERT更新:UPDATE删除:DELETE3 事务处理语言TPL事务控制语言TCL用于维护数据的一致性包含三条语句:1)COMMIT;2)ROLLBACK;3)SAVEPOINT;4 数据定义语言DDL数据定义语言DDL用于建立,修改,删除数据库中的各原创 2020-09-06 10:45:20 · 219 阅读 · 0 评论 -
mysql学习-视图简单实现
基本概念视图是一个虚拟表,是sql的查询结果,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据,在使用视图时动态生成。视图的数据变化会影响到基表,基表的数据变化也会影响到视图[insert update delete ] ; 创建视图需要create view 权限,并且对于查询涉及的列有select权限;使用create or replace 或者 alter修改视图,那么还需要改视图的drop权限。优点1.简单化,所见即所得2.安全性,用户只查询修改能见到得到的数据3.逻辑原创 2020-09-05 19:33:56 · 146 阅读 · 0 评论 -
mysql学习-mysql事务简单实现
事务事务是一个最小执行单元,有多个sql语句组成,一个事务中,所有的sql语句执行完成功后,整个事务成功;有一个sql语句失败,整个事务执行失败。事务的边界开始:连接到sql,执行一条dml语句上一个事务结束,又输入一条DML语句结束:提交 a.显示提交:commit b.隐式提交:一条创建、删除语句,正常退出回滚 a.显示回滚:rollback b.隐式回滚:非正常退出(断电、宕机)回滚段数据库为每一个客户端都维护一个空间独立的缓存区,叫做回滚段,所有增删改语句的执行结果原创 2020-09-05 17:02:49 · 137 阅读 · 0 评论 -
mysql学习-各种约束整合
约束1.实体完整性约束表中每一行数据代表一个实体 实体完整性约束是指每一行数据不重复,实体唯一。主键约束primary key 唯一,标识表中的一行数据,此列的值不可重复,且不能为nullCREATE TABLE testtable ( id INT PRIMARY KEY, 姓名 VARCHAR(20), 年龄 INT)CHARSET=utf8;插入2遍会报错:Duplicate entry ‘1’ for key ‘PRIMARY’ 主键1重复INSERT INTO te原创 2020-09-05 15:30:08 · 143 阅读 · 1 评论 -
mysql学习-数据表的创建,修改,删除
创建表CREATE TABLE testtable ( id INT, 姓名 VARCHAR(20), 年龄 INT)CHARSET=utf8;CHARSET用来指明创建表时使用的字符集SELECT * FROM testtable;#查询整个表INSERT INTO testtable(id,姓名,年龄) VALUE (1,'张三',25);#添加一行数据修改表给现有表添加一列ALTER TABLE testtable ADD 工作 VARCHAR(255);修改现有表原创 2020-09-05 10:01:40 · 146 阅读 · 1 评论 -
mysql学习-mysql的数据类型
数值类型数据类型字节长度描述int4字节存储整数double8字节双精度浮点数double(M,D)8字节受M,D约束的double类型decimal(M,D)decimal(M,D)精确的小数值double(M,D) 受M,D约束的double类型,M表示长度,D表示小数位数。比如double(5,2)的取值范围是-999.99到+999.99,小数2位,总长度5位decimal(M,D) 小数值 进行运算时获得精确的小数值。doubl原创 2020-09-05 09:36:02 · 128 阅读 · 0 评论 -
mysql学习-dml操作(增删改)
新增INSERT INTO mytable1(工作,姓名,年龄) VALUE ('机械','吴天',23);修改UPDATE mytable1 SET 姓名='郭二' WHERE 姓名='吴天';删除DELETE FROM mytable1 WHERE 姓名='郭二';删除时不加where限定条件的话,删除的是整张表的数据delete 只会删除表的数据,对表的结构不造成影响清空整表数据TRUNCATE TABLE mytable1;与delete删除整表数据不同,truncate原创 2020-09-05 08:55:30 · 93 阅读 · 0 评论 -
mysql学习-连接查询
创建表格准备创建mysql1数据库并创建表mytable1和mytable2,目录结构如下所示:mytable1内容如下:mytable2内容如下:内连接查询SELECT * FROM mytable1 INNER JOIN mytable2 ON mytable1.`工作`=mytable2.`工作`;查询结果:将mytable1和mytable2这两个表连接到了一起,进行连接的条件是“工作”这一栏。将2个表进行了连接,然后查询的*。如果不指定连接条件呢?SELECT * F原创 2020-09-03 22:22:38 · 92 阅读 · 0 评论 -
mysql学习-查询语句进阶
查询语句#查询的进阶#子查询 一行一列SELECT NAME,Population FROM city WHERE Population>(SELECT Population FROM city WHERE NAME='Herat') ORDER BY Population ASC;#子查询得到一行一列的结果 才可以做外部查询的条件判断#子查询做枚举查询的条件SELECT CountryCode,NAME,Population FROM city WHERE Population IN(S原创 2020-09-02 14:57:21 · 79 阅读 · 1 评论 -
mysql学习-查询语句
环境使用sqlyog使用的mysql官方的2个开源 实例 数据库下载地址https://dev.mysql.com/doc/index-other.html查询mysql语句#查询SELECT NAME FROM city;#查询name列SELECT * FROM city;#查询所有列 *效率低,可读性差SELECT NAME ,Population*12 FROM city;#数据可以进行运算SELECT NAME ,Population*12 AS ‘人口12倍‘ FROM原创 2020-09-02 12:55:18 · 130 阅读 · 0 评论 -
mysql学习-基础命令
mysql基础命令打开mysqlmysql -u root -p输入密码回车,会显示mysql>显示已有数据库SHOW DATABASES;创建数据库CREATE DATABASE mydb1;CREATE DATABASE mydb2 CHARACTER SET gbk;CREATE DATABASE IF NOT EXISTS mydb4;#不存在才创建显示某数据库详情SHOW CREATE DATABASES 某数据库;显示数据库使用的端口SHOW GLOBAL原创 2020-09-02 12:35:03 · 68 阅读 · 0 评论 -
JDBC-使用BeanHandler报错Cannot create newjdbc.JavaBean
报错Exception in thread “main” java.sql.SQLException: Cannot create newjdbc.JavaBean: newjdbc.JavaBean Query: select * from student where id=? Parameters: [10]原因javaBean类中未书写 无参构造原创 2020-12-07 10:11:51 · 232 阅读 · 0 评论 -
JDBC-报错 严重: testWhileIdle is true, validationQuery not set -----druid连接池
原因mysql版本 高于 druid连接池的jar包版本解决下载并更换最新的druid 的 jar包https://repo1.maven.org/maven2/com/alibaba/druid/原创 2020-10-14 20:52:00 · 413 阅读 · 0 评论 -
JDBC-报错Cannot resolve com.mysq.jdbc.Connection.ping method
原因报错Cannot resolve com.mysq.jdbc.Connection.ping method数据库连接池的配置和之前的配置不大一样之前的配置是driver 连接池加载的是driverClassName解决重新配置properties文件driverClassName = com.mysql.cj.jdbc.Driverurl = jdbc:mysql://localhost:3306/zzbmysql?useUnicode=true&characterEncod原创 2020-10-14 20:47:57 · 1595 阅读 · 1 评论 -
JDBC-DAO实现增删改查
mysql建立Person表列名类型描述idint主键,自增1namevarchar(20)非空ageint非空bornDateDate无emailvarchar(20)无addressvarchar(20)无dbutil工具类连接数据库,关闭连接package person;import java.io.IOException;import java.io.InputStream;import java.sq原创 2020-09-11 19:56:22 · 932 阅读 · 0 评论 -
JDBC-java.util.Date,java.sql.Date,String之间的转换
String转java.util.Date这里使用一个SimpleDateFormat类,格式化日期使用SimpleDateFormat类的parse方法参数:符合格式的字符串返回值:java.util.DateSimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//指定一个格式String str = "2020-9-11";java.util.Date date = sdf.parse(str);//使用SimpleDateF原创 2020-09-11 15:25:39 · 306 阅读 · 0 评论 -
JDBC-ORM封装管理零散数据
ORM对从数据库中取出的零散数据进行封装管理封装零散数据在数据库中取出的数据用字符串变量保存,当再取出时会覆盖,进而之前的数据丢失,无法再调用。这里将多个数据封装进一个对象里,再将多个对象放入一个集合里,方便后续使用代码testORM.javapackage jdbc;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLExc原创 2020-09-10 19:50:25 · 97 阅读 · 0 评论 -
JDBC-封装工具类跨平台方案(使用配置文件)
跨平台将静态方法中写死的字符串改成从配置文件中获取。用户可以根据需要更改配置文件,而不用知道程序源码,使用编译后的class文件 和 更改后的配置文件即可正常运行。代码test.javapackage jdbc;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Scanner原创 2020-09-09 21:14:59 · 200 阅读 · 0 评论 -
JDBC-封装工具类重用性方案
package jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;//重用性方案public class dbutils { static {//类加载,执行一次 try { Class.forName("com.mysql.cj.jdbc.Dri原创 2020-09-09 15:08:32 · 103 阅读 · 0 评论 -
JDBC-使用preparedstatement避免sql注入
使用preparedstatement代码package jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Scanner;public class preparedstatement { public原创 2020-09-07 21:23:45 · 185 阅读 · 0 评论 -
JDBC-sql注入
先举个用户登录的例子(问题)数据库中存储的账号密码java代码package jdbc;import java.sql.*;import java.util.Scanner;import com.mysql.cj.protocol.Resultset;import com.mysql.cj.x.protobuf.MysqlxCrud.Collection;public class jdbc2 { public static void main(String[] args) thr原创 2020-09-07 19:51:10 · 498 阅读 · 0 评论 -
JDBC-用户登录(不安全)
package jdbc;import java.sql.*;import java.util.Scanner;import com.mysql.cj.protocol.Resultset;import com.mysql.cj.x.protobuf.MysqlxCrud.Collection;public class jdbc2 { public static void main(String[] args) throws Exception { // TODO 自动生成的方法存根原创 2020-09-07 16:28:58 · 202 阅读 · 0 评论 -
JDBC-获取数据库数据(查询)
package jdbc;import java.sql.*;import com.mysql.cj.protocol.Resultset;import com.mysql.cj.x.protobuf.MysqlxCrud.Collection;public class jdbc2 { public static void main(String[] args) throws Exception { // TODO 自动生成的方法存根 String url = "jdbc:mysq原创 2020-09-07 12:19:19 · 848 阅读 · 0 评论 -
jdbc连接mysql常见问题2-eclipse上sql中文语句报错
问题jdbc连接mysql ,eclipse上sql中文语句报错原因1.mysql数据库未设置为utf82.eclipse字符编码未设置为utf-83.连接mysql的url,未添加“?characterEncoding=utf-8”4.未配置mysql默认编码为utf8解决方法1.检查要访问的mysql数据库编码,比如我要访问mysql的mysql1数据库:使用sqlyog或者navicat图形界面化工具打开mysql,我这里用sqlyog。在要查看的数据库名称上右键->改变表,原创 2020-09-06 17:40:54 · 719 阅读 · 0 评论 -
jdbc连接mysql常见问题1-The server time zone value ‘?D1ú±ê×?ê±??’ is unrec
问题JDBC出现The server time zone value ‘?D1ú±ê×?ê±??’ is unrec问题原因原因:因为安装mysql的时候时区设置的不正确 应采用+8:00格式解决方法解决方法:cmd下运行mysql$mysql -u root -p$Enter password: ********设置时区mysql> set global time_zone='+8:00';...原创 2020-09-06 16:47:28 · 541 阅读 · 0 评论 -
JDBC与MYSQL连接-java
JDBC与MYSQL连接-javapackage jdbc1;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql....原创 2020-01-13 20:17:46 · 125 阅读 · 0 评论