软件测试自学

学习目标2024.04.08

1.MySQL常用内置函数

2.了解存储过程

3.了解视图

4.了解事务

5.了解索引

6.掌握基于命令行的SQL使用

一.内置函数
  • 可以再where后面作为条件使用

  • 内置函数可以用在显示得字段名中

  1. 拼接字符串:concat(参数1,参数2,参数3)

把所有的参数连接成一个完整的字符串。

select concat(12,34,'abc')

2.包含字符个数:length(str)

如果字符串中包含utf8格式的汉字,一个汉字length赶回3

select length('我和你')    9
select length('you')      3
查询name长度等于9的学生信息
select * from students where length(name) = 9

3.截取字符串:left(‘字符串’,n)

  • left(str,len)返回字符串str的左端len个字符,中文与英文字母个数len一志

select left('我和你abc',3)
  • right(str,len)返回字符串str的右端len个字符,中文与英文字母个数len一志

    4.从中间截取:substring(字符串,起始位置,n)

    截取students表中所有学生得姓
    select left(name,1) from student

    5.去除字符串左边空格:ltrim(‘带空格的字符串')

    去除字符串右 边空格:rtrim(‘带空格的字符串')

    去除字符串两侧的空格:trim(’带空格的字符串‘)

    6.四舍五入:round(数字,d)

    d代表要保留的小数位,省略d默认为0.

    7.随机数:rand()

    从学生表中随机抽取一个学生
    select * from students order by rand() limit 1;

    8.返回当前日期:current_date()

    返回当前时间:current_time()

    返回当前日期和时间:now()

    二.存储过程

    存储过程PROCEDURE,也翻译成存储程序,是一条或者多条Sql语句的集合。

    • create procedure 存储过程名称(参数列表)
      begin
      sql 语法;
      end
      ​
      调用存储过程
      call stu();
      ​
      删除存储过程:
      drop procedure stu;  --删除时不用写后面的()
      三.视图

      对查询的封装,可以当作一张只读的表使用

      对视图只能用select,不能用delete和update

      create view 视图名称 as select 语句;
      ​
      --创建一个视图,查询所有男生信息
      create view stu_nan as
      select * from students where sex = '男'
      ​
      删除视图:
      drop view 视图名字 
      四.事务
      • 事务广泛的运用订单系统,银行系统等多种场景。

      • 所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,他是一个不可分割的工作单位。

        • 例如:银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。所以,应该把他们看作一个事务。

      begin:(开始事务)后修改UPDATE或删除DELETE记录语句,变更会写道缓存中而不会立刻生效。

      rollback:(放弃,回滚修改)

      commit:(将修改的数据写入实际的表中)两个操作同时生效

      -- 例:开启事务,删除students表中的studentNo为001的记录,同时删除scores表中的studentNo为001的记录,回滚事务,两个表的删除同时放弃。
      ​
      begin;
      delete from students where studentNo ='001';
      delete from scores where studentNo ='001'
      -- 回滚事务,放弃修改
      rollback;
      ​
      select * from students
      select * from scores 
      -- 发现没被删除001同学,因为rollback放弃了删除的修改
      ​
      -- 如果开始begin一个事务,没有rollback和commit操作,中间系统出现了问题,默认是rollback操作

    五.索引
    • index 给表建立索引,目的是加快select查询的速度

    • 如果一个表记录很少,几十,几百不用索引

    • 表的记录特别多

      语法:
      create index 索引名称 on 表名(字段名称(长度))
    • 调用索引

      不需要显示的写调用索引的语句,只要where条件后面用到的字段建立了索引,那么系统会自动调用。

    image-20240408153914136

    • 查看索引

      对于主键系统会自动建立索引

      show index from 表名;
    • 删除索引

      drop index 索引名 on 表名

    image-20240409000409373

    六.MySQL命令行

    cmd中:

    • mysql -h mysql服务器的地址 -u 用户名 -p

    • -h如果是本机的mqsql -h 可以使用

  1. mysql登陆之后的常用命令

  • show databases:显示系统所有的数据库

  • use 数据库名:使用指定的一个数据库

--使用mydb数据库
use mydb
  • show tables:查看数据库有多少表

  • 如果命令行默认字符集事gbk

  • set names gbk

    告诉mysql客户端用的字符集是gbk

  • 在命令行中每条sq

  1. 在命令行下创建和删除数据库

    create database 数据库名 default charset 字符集

    create database mytest default charset utf8;
    ​
    drop database mytest
    drop database if exists mytest --不存在不报错
  • 24
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值