
数据库
存储过程、存储函数、游标、触发器等使用数据库时候会遇到的问题和解决方法
万能車
测试工程师是稀缺人才,他们是技术人,关注用户,并且能够从系统层面上发现软件存在的问题。
他们为项目带来正面的、有益的力量,为团队带来信心,减少风险。
展开
-
Mysql表和数据的复制操作
准备测试数据时候,需要经常对数据库中的表结构以及表中数据进行复制、删除等操作,现对常用的操作总结一下:数据库中已经存在一个表A,表结构及数据如下:1、创建新表B,从A表复制结构,不复制数据create table B like A;create table B select * from A where 1=2;以上两种方法皆可。2、创建新表C,复制A表结构以及表中所有数据create table C select * from A;3、创建新表D,复制表结构以及表中部分数据举个例子原创 2021-12-14 10:28:34 · 2140 阅读 · 0 评论 -
性能测试数据准备:向SQL Server数据库表中插入30万条数据
项目上有个需求,当数据库表中有10万条、20万条、30万条数据时,分别测试一下页面显示出这些数据的时间。1、创建表CREATE TABLE ttPerformanceTest(id INT IDENTITY,name VARCHAR(100),CompID INT,DepID INT,sex INT,age INT,address VARCHAR(200),status INT,remark VARCHAR(200),PRIMARY KEY(id))2、创建存储过程,包含两个参数:start是原创 2020-10-24 16:40:41 · 1289 阅读 · 0 评论 -
Mysql中触发器的创建和效果 - 场景2:实现约束
假设有个需求,向employee表中新增员工时,工资不准低于5000元。1、使用check约束来实现2、使用触发器来实现(触发器一般用来实现更复杂的约束,比如需要同时对多个表中的数据进行判断等,我们这里简单示例一下)1、用check约束来实现create table employee_1(eno int primary key,ename varchar(100),deptno varchar(100),job varchar(100),sal float,check (sal>=原创 2020-10-22 13:42:31 · 680 阅读 · 0 评论 -
Mysql存储过程的创建和执行
假设有一个需求,向stu表中插入n条新数据,可使用存储过程来进行数据的插入。1、创建stu表create table stu1 (id int primary key, name varchar(100),age int,sex varchar(2));2、创建有参数的存储过程delimiter //create procedure sp_stu_insert(in num int)begin declare i int; set i=1; while i<=num d原创 2020-10-20 18:08:55 · 791 阅读 · 0 评论 -
Mysql中触发器的创建和效果 - 场景1:对表的所有操作都保存到历史表中
假定有个需求,对于stu表,当每次对stu表进行操作时,都要将相关操作保存到历史表stu_history中。1、创建stu、stu_history表create table stu1 (id int primary key, name varchar(100),age int,sex varchar(2));create table stu_history(id int, name varchar(100),age int,sex varchar(2),status varchar(10),modif原创 2020-10-20 13:38:41 · 342 阅读 · 0 评论 -
Mysql修改配置文件后,Mysql启动不了怎么解决
一、Mysql修改配置文件后,Mysql启动不了今天下午为了解决mysql的xxx问题,需要修改my.ini文件,然后将mysql重启即可。但是我修改my.ini文件后,myql再也无法启动。1、网上找了好几个解决方法,最大的可能性是1、数据有问题。2、配置文件有问题。2、鉴于我是刚修改过my.ini,所以猜测应该是它出了故障。通过排查,发现我的my.ini编码格式不知道为什么变成了utf-8,可能是我修改参数时里面包含了utf-8格式的内容,所以系统自动将文件改了编码格式。3、解决方法:将my.原创 2020-10-17 17:21:03 · 7186 阅读 · 4 评论 -
Mysql中自定义函数的创建和执行
假设students表中包含id和name两个字段,创建一个函数,函数的作用是根据id查找name1、创建表,插入数据create table students(id int,name varchar(100));insert into students(id,name) values(1,'annie'),(2,'bell'),(3,'danny');2、创建函数DELIMITER //create function find_student(id int) returns varchar(原创 2020-10-17 16:41:27 · 2664 阅读 · 0 评论 -
Mysql中MyISAM、InnoDB中count效率的第一次简单测试
数据准备1、在mysql数据库的一个database中创建表students,设置存储引擎为MyISAM,不设置主键和任何索引create table students(id int,name varchar(100),age int,address varchar(100)) engine=MyISAM;2、在mysql数据库的其他database中创建表students,设置存储引擎为INNODB,不设置主键和任何索引create table students(id int,name varch原创 2020-10-10 16:19:38 · 446 阅读 · 0 评论 -
Mysql中查看和设置表使用的存储引擎
本人使用的Mysql版本是Mysql8.0,先介绍一下mysql的最主要两个路径【程序路径】:C:\Program Files\MySQL\MySQL Server 8.0【数据路径(包括配置文件my.ini和data数据文件)】:C:\ProgramData\MySQL\MySQL Server 8.01、什么是默认存储引擎?创建表的时候,若不特别指定engine,则使用mysql默认的存储引擎。2、如何查看mysql的默认存储引擎?1)可在配置文件my.ini中查看,默认是InnoDB2原创 2020-10-10 09:42:36 · 536 阅读 · 0 评论 -
SQL Server中创建表,设置完整性约束
需求:建立一个供应商、零件关系库,其中关系供应商S(Sno,Sname,Status,City)属性分别表示供应商代码、供应商名称、供应商状态、供应商城市。原创 2020-09-23 18:48:50 · 6121 阅读 · 0 评论 -
SQL Server数据库 - 第一次简单的操作
1、数据库连接使用SQL Server自带的工具Microsoft SQL Server Management Studio,以连接我本机数据库为例,可以在“服务器名称”处输入localhost(或是.或是127.0.0.1),都代表本机,如图所示:登录支持两种方式,windows身份验证和sql server身份验证。1)windows身份验证就是使用windows本机账户登录本机数据库,由于用户本来已处于登录状态,所以无需再输入密码即可直接连接数据库。2)sql server身份验证,是使用数原创 2020-07-18 16:51:49 · 1613 阅读 · 0 评论