• mysql基本命令整理


    1、replace into(insert into 的增强版)

    replace into tbl_name(col_name, ...) values(...)
    replace into tbl_name(col_name, ...) select ...
    适用情况: 判断数据是否存在;如果不存在,则插入;如果存在,则更新。
    replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中, 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。否则,直接插入新数据。
    要注意的是:插入数据的表必须有主键或者是唯一索引,否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。

    2、limit-查询返回数量限制

    SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset 
    LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。
    如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。
    初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。
    mysql> SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15 ,注意,10为偏移量 
    //为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:
    mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.
    //如果只给定一个参数,它表示返回最大的记录行数目:
    mysql> SELECT * FROM table LIMIT 5; //检索前 5 个记录行 //也就是说,LIMIT n 等价于 LIMIT 0,n。
    如果你想得到最后几条数据可以多加个 order by id desc

    mysql不支持select top n的语法,应该用这个替换:
    select * from tablename order by orderfield desc/asc limit position,counter;
    position 指示从哪里开始查询,如果是0则是从头开始,counter 表示查询的个数
    取前15条记录:
    select * from tablename order by orderfield desc/asc limit 0,15

    3、like-模糊查询通配符使用
    SQL模式
    SELECT 字段 FROM 表 WHERE 某字段 Like 条件
    其中关于条件,SQL提供了四种匹配模式:
    1,%:表示任意个或多个字符。可匹配任意类型和长度的字符。
    2,_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:(可以代表一个中文字符)

    注意:SQL的模式缺省是忽略大小写的
    正则模式
    由MySQL提供的模式匹配的其他类型是使用扩展正则表达式。当你对这类模式进行匹配测试时,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。
    扩展正则表达式的一些字符是:
    .  -匹配任何单个的字符。(单字节字符)
    [...] - 一个字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。为了命名字符的一个范围,使用一个“-”。“[a-z]”匹配任何小写字母,而“[0-9]”匹配任何数字。

    * - 匹配零个或多个在它前面的东西。
    ^ - 匹配开头
    $ - 匹配结尾

    例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配的任何数量的数字,而“.*”匹配任何数量的任何东西。

    正则表达式是区分大小写的,但是如果你希望,你能使用一个字符类匹配两种写法。例如,“[aA]”匹配小写或大写的“a”而“[a-zA-Z]”匹配两种写法的任何字母。

    4、创建表

    create table blog_article
    (
      article_Id int unsigned not null  auto_increment,
      article_title varchar(20) not null unique,
      article_content longtext not null,
      article_date datetime not null,
      article_readTime int unsigned not null default 0,
      user_Name char(15) not null,
      category_Name char(18) not null,
      primary key(article_Id),
      foreign key(user_Name) references blog_user(user_Name) on delete cascade on update cascade,
      foreign key(category_Name) references blog_category(category_Name) on delete cascade on update cascade

    )engine=innodb default charset=utf8 auto_increment=1;
     create table tb_equipment
    (
      e_id int unsigned not null  auto_increment,
      e_name varchar(20) not null unique,
      e_value longtext not null,
      e_categoryid varchar(50) null,
      e_assetclassname varchar(20),
      e_version char(15) not null,
      e_brand char(18) not null,
      primary key(e_id ),
    )engine=innodb default charset=utf8 auto_increment=1;
    如果我能一直坚持下去,就像坚持当初的梦想一样,或许我也能成为大神呢,哈哈哈。
  • 相关阅读:
    Python单元测试unittest加载方式之二:加载测试套件
    Python单元测试unittest加载方式之二:加载测试套件
    Python单元测试unittest加载方式之一:unittestmain()启动单元测试模块
    和优秀的人相处
    耐心和恒心
    ubuntu下FTP文件目录共享
    一个不错的编译调试方法
    qt 程序异常崩溃
    minigui SetTimer(hwnd, id, speed)
    minigui 按钮点击弹窗外部 弹窗消失功能 WS_EX_TRANSPARENT
  • 原文地址:https://www.cnblogs.com/faraway-tiny/p/4917706.html
Copyright © 2020-2023  润新知