数据库第四天笔记

命令行客户端

  • windows:

    • 方式1:在电脑左下角搜索 mysql command cline client 点击进入
      • 输入密码按下回车即可
    • 方式2:
      • 进入到mysql的bin目录中
        • C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin
      • 在当前路径下输入cmd打开黑窗口
      • 输入:mysql -uroot -p 按下回车输入密码即可
  • mac:打开终端直接输入:mysql -u root -p 按下回车输入密码

  • 看到mysql>即为连接成功

命令行客户端操作数据库

  • 查看所有的数据库

    • show databases;
  • 使用数据库

    • use 数据库名;
  • 查看正在使用的数据库

    • select database();
  • 创建数据库

    • create database 数据库名 charset=utf8;
  • 删除数据库

    • drop database 数据库名;

命令行客户端操作数据表

  • 查看当前库下所有的表

    • show tables;
  • 查看表结构

    • desc 表名;
  • 查看创建表的语句

    • show create table 表名;
  • 修改编码格式:

    • charset 编码格式;

      • gbk utf8

内置函数

  • 函数的作用:处理一些数据

  • 关键字:function

  • 字符串函数

    • 拼接字符串:concat(str,str2...)
      • Str:string字符串
    • 获取字节的个数:length(str)
    • 获取字符的个数:char_length(str)
    • 截取字符串
      • 从左侧截取:left(str,len)
        • len:长度
      • 从右侧截取:right(str,len)
      • 从指定位置截取:substring(str,pos,len)
        • pos:开始位置
    • 去除空格:
      • 去左侧空格:ltrim(str)
      • 去右侧空格:rtrim(str)
      • 去两端空格:trim(str)
    • 大小写转换
      • 转大写:upper(str)
      • 转小写:lower(str)
  • 数学函数

    • 四舍五入:round(n,len)
      • n小数,len保留几位小数
    • 求x的y次方:pow(x,y)
    • 求圆周率:PI()
    • 求随机数:0-1之间的浮点数
      • rand()
  • 日期时间函数

    • 获取当前日期:current_date()

    • 获取当前时间:current_time()

    • 获取当前日期和时间:now()

    • 日期时间格式化:date_format(时间,格式)

      • %Y 获取年,返回完整年份
        %y 获取年,返回简写年份
        %m 获取月,返回月份
        %d 获取日,返回天值
        %H 获取时,返回24进制的小时数
        %h 获取时,返回12进制的小时数
        %i 获取分,返回分钟数
        %s 获取秒,返回秒数
        

流程控制(掌握)

  • 作用:可以完成多个条件的运算,及给出对应的输出

  • 格式:

    • select 字段,case  
      when 条件 then 输出
      when 条件 then 输出
      else 输出
      end from 表名;
      
      case 开始流程控制
      end 结束流程控制
      when 如果
      then 则
      else :以上条件匀没有成立则提示else中的输出内容
      

自定义函数

  • 函数的作用:处理一些数据
  • function
  • 格式:

    • create function 函数名(变量名  类型) returns 返回数据的类型
      beigin
      return  效果作用;
      end;
      
  • 删除自定义函数:drop function 函数名;

修改分割符

  • 结束符,分割符,sql中默认的结束符号是分号;
  • delimiter 符号

存储过程

  • 关键字:procedure
  • sql语句运行是需要消耗时间编译的,当sql语句需要大量反复的执行的时候,就可以将这些sql定义为存储过程

  • 好处:将sql语句定义为存储过程后,前期定义的时候编译一次,后续多次运行使用,就不需要编译了,节省了编译所消耗的时间
  • 存储的就是sql语句

  • 定义存储过程

    • 格式:

      • create procedure 存储过程的名()
        begin
        sql语句;
        end;
        
  • 调用:call 存储过程名

  • 删除:drop procedure 存储过程名;

视图

  • 关键字:

    • view
  • 不定义视图:当有某条复杂的连表的sql语句,需要在多个地方多次使用执行,就会对数据库造成很大的读写压力

  • 定义视图的好处:

    • 将这条复杂的连表的sql语句,定义成视图后,就可以减少对数据库的读写压力
  • 定义视图:

    • create   view  视图名   as  复杂的sql;
      
  • 查看视图:

    • show tables;
  • 删除视图:

    • drop view 视图名;

事务

  • 事务:就是一系列操作的集合
  • 显示开启事务作用:

    • 手动开启事务能够保证数据的完整性,要么都成功,要么都失败
    • 当同时运行大量的sql的时候,隐式的事务begin和commit需要执行n多次

      • 这个时候可以手动显示开启事务后,在运行sql,最后手动commit,这样可以提高效率
  • 隐式事务:任何一条sql语句在运行的时候默认都会先运行begin结束后都会使用commit

  • 操作:

    • 显示开启事务:begin
    • 提交事务:commit
    • 回滚事务:rollback

索引 -index

  • 可以理解为编号
  • 作用:

    • 好处就是能够更快速的查询到数据
    • 缺点就是会降低:添加,修改,删除数据的速度。
  • 添加索引

    • 方式1:创建表的时候

      • create table 表名(
        	字段 类型 约束,
        	字段2.....,
        	key(字段)
        	)
        	
        	key(字段)会添加索引,
        	primary key 主键自带索引 unique 唯一自带索引
        
    • 方式2:表存在的时候

      • create index 索引名 on 表名(字段名);
        
  • 查看索引:

    • show index from 表名;
      key_name字段下就是索引的名
      
  • 删除索引:

    • 先查询到索引的名称:
      在根据索引名删除
      drop index 索引名 on 表名;
      
posted @ 2024-07-29 11:51  dddpppqqq  阅读(3)  评论(0编辑  收藏  举报