暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

mysql备忘录

stephenChen的0或1 2021-04-07
322

在工作中,用到最多的数据库就属mysql了。鉴于有些知识点总会忘记,因此专写一篇文章来不断记录这些内容。


1.left join,right join , join , inner join的区别

    left join 即左连接,顾名思义,左侧的表为基础表,比如:
    tableA left join tableB,即以tableA为基础表,tableB中无对应的即用null做填充
      right join 即右连接,顾名思义,右侧的表为基础表,比如:
      tableA right join tableB,即以tableB为基础表,tableA中无对应的即用null做填充
        join,其实就是inner join 的简写,即内连接,只保留两个连接表中都符合连接条件的数据

        备注:mysql没有full join,即全连接,但可以用left join + union + right join的方式来实现全连接

        2.查找字段中是否有中文

          select * from table where length(column) != char_length(column)
          //length函数,中文算三个字符,
          //char_length函数,中文英文都算一个字符

          3.数据库备份命令

            mysqldump [-h127.0.0.1] [-P3306] -uroot -p['123456'] databaseName [tableName] > fileName.sql
            //其中,-h127.0.0.1表示数据库所在IP为127.0.0.1,可换成其他IP,不填则默认为本机
            //-P3306 表示数据库开放端口为3306,不填则默认为3306
            //root可以是其他用户名,必填项
            //'123456'这个密码可以不填,不填会在命令回车后提示输入密码
            //databaseName即数据库名,必填项
            //tableName可以不填,不填即默认备份数据库的全部表

            备注:该命令不需要登入mysql后才能执行

            4.修改语句

              update tableName set column1="value1",column2="value2" where column3="value3"

              5.删除语句

                delte from tableName where column1 = "value1" [limit 10]
                //删除10条符合条件的数据

                6.新增语句

                  insert into tableName (column1,column2) values (value1,value2)[,(value3,value4)]
                  //或者
                  insert into tableName set column1=value1,column2=value2

                  7.指定条数

                    select * from tableName limit 0, 10
                    //limit后第一个参数是数据下标,从0开始
                    //第二个参数是取多少条数据
                    //因此该语句是从第1条开始,取10条数据,即下标为 0到9的数据

                    8.排序语句

                      select * from tableName order by column1 desc [,column2 asc]
                      //可以根据多个字段来排序,优先级从前到后逐渐降低
                      //该条语句中,先按column1列降序排序,column1的值相同的数据再按column2升序排列
                      //desc为选填值,当无desc和asc时,默认是desc

                      9.分组语句

                        select column1, count(*) from tableName group by column1;
                        //该语句是查询column1中每个值的相同值个数

                        =================分割线============

                        还有好多写的,改天继续





                        文章转载自stephenChen的0或1,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                        评论