zoukankan      html  css  js  c++  java
  • mysql 小结

    一、连接数据库

        set names gbk; 设置编码

        \c 推出sql语句;

        truncate;删除数据表内容

        mysql -h localhost -uusername -ppasswd  

        mysal登录: mysql -p -u  root  推出:quit

    二、库

      show databases; 查询库

      descript(desc) 表名; 表结构

      create database 库名;

      drop database 库命;

      (select database;)

      use 库名;

    三、数据类型

      整型: 5 个主要整数类型,这些类型在很大程度上是相同的,只有它们存储的值的大小是不相同的。

        Tinyint(0——255)

        smallint

        mediumint

        int

        bigint

      二、小数型/浮点型、定点型

              Float(M,D)

      字符型  char 定长 char(M)  varchar 变长  text

      日期:

        year、date、time、datetime、时间戳

      注意:在开发中,很少用日期时间类型来表示一个需要的精确到秒的列

      原因:虽然日期时间类型能精确到秒,而且方便查看,用时间戳来表示

    三、表

      desc class;查看表结构

      rename table oldNamt to newName;表重命名

      drop table tableName; 删除表

      show tables;

      a.创建表  就是声明列的过程

      create table score (

      stu int,
      name varchar(20),
      ke varchar(10),
      fen int
      );

    一、查询

      select 

    二、增

     insert into msg(id,title,name,content) values (1,'初来乍到','张三','刚来能不能当老大?');

    三、改

     update msg set id =2, content ='偏要当老大'  where name ='李四' ;

    四、删 (删的是列)

     delete from msg where id=2;

    五、触发器

      a.四要素:监视地点、监视事件、触发时间、触发事件
      创建触发器的语法
      create trigger triggerName
      after/before insert/update/delete on 表名
      for each row
      begin
      sql语句:#一句或多句,Insert/update/delete范围内
      end;

      例子:old new

        delimiter $

        create trigger tg1

        after insert on o
        for each row
        begin
        update g set num=num-3 where id=2;
        end$

        

        create trigger tg2
        after insert on o
        for each row
        begin
        update g set num=num-new.much where id=new.gid;
        end$

    删除触发器的语法:
    drop trigger 触发器名

    如何在触发器引用行的值
    对于insert 而言,新增的行用new来表示
    行中的每一列的值,用new点列名来表示

    对于delete来说,原来有一行,后来被删除,
    想引用被删除的这一行,用old来表示,old列名,就可以引用被删行中的值

    对于update来说
    被修改的行
    修改前的数据,用old来表示,old列名引用被修改之前行中的值
    修改后的数据,用New来表示,New列名引用被修改之后行中的值

    六、存储过程

      存储过程:procedure

      概念类似于函数,就是把一段代码封装起来,当要执行这一段代码的时候,

      可以通过调用该存储过程来实现,在封装的语句体里面,可以用if/else,case,while等控制结构,
      可以进行sql编程。

      查看现有的存储过程:

      show procedure status;

      删除存储过程

      drop procedure 存储过程的名字

      调用存储过程:call 存储过程名字();

      在mysql中,存储过程和函数的区别,
      一个是名称不同
      二个是存储过程没有返回值

  • 相关阅读:
    每日分享!JavaScript中的表单事件
    每日分享!~ 如何解决获取卷曲高度的问题,document.body.scrollTop为什么在pc端拿不到值
    Unhandled rejection Error: EACCES: permission denied, open '
    每日分享!canvas的使用~
    每日分享!JavaScript的鼠标事件(11个事件)
    每日分享!~ 使用js原生方式对拖拉元素(鼠标的事件)
    每日分享!~ JavaScript(拖拽事件)
    每日分享!~ JavaScript(js数组如何在指定的位置插入一个元素)
    每日分享!~ vue JavaScript中为什么可以读取到字符串的长度!(包装对象)
    let和var以及const有什么区别
  • 原文地址:https://www.cnblogs.com/suihui/p/2612768.html
Copyright © 2011-2022 走看看