zoukankan      html  css  js  c++  java
  • 高频sql语句汇总。不断更新。。

    小知识点:

    1)通配符。%(百分号):表示任意长度字符。  _(下划线):表示任意一个字符。

    2)

    操作语句
    创建数据库 CREATE DATABASE dbname/* DEFAULT CHARSET utf8 COLLATE utf8_general_ci;*/
    删除数据库 DROP DATABASES dbname;
    显示数据库列表 SHOW DATABASES;
    显示表列表 SHOW TABLES;
    建表 CREATE TABLE `tablename` (`id` INT(3) NOT NULL AUTO_INCREMENT, `fieldname` type isnull default 'defaultvalue',PRIMARY KEY(`id`))AUTO_INCREMENT=1  ENGINE=MyISAM DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    切换数据库  USE dbname;
    当前使用的数据库 SELECT DATABASE();
    查看建表信息 SHOW CREATE TABLE tablename; 
    列表显示表的信息(含注释) SHOW FULL COLUMNS FROM tablename;
    修改表引擎 ALTER TABLE tablename TYPE=innodb;  建表默认myisam类型不支持事务,innodb支持事务insert和update时比myisam快,select比myisam慢。
    查看支持的引擎 SHOW ENGINES;
    删除表 DROP TABLE tablename;
    清空(截断)表 TRUNCATE TABLE tablename; 会清空自增
    查看表的索引 SHOW INDEX FROM tablename;
    添加主键 ALTER TABLE tablename ADD PRIMARY KEY(fieldname);
    删除主键 ALTER TABLE tablename DROP PRIMARY KEY(fieldname);
    添加唯一键 ALTER TABLE tablename ADD UNIQUE KEY(fieldname);
    添加普通键 ALTER TABLE tablename ADD INDEX(fieldname);
    添加字段 ALTER TABLE tablename ADD fieldname fieldtype ... AFTER fieldname;
    修改字段信息 ALTER TABLE tablename MODIFY fieldname fieldtype ...;
    修改字段名 ALTER TABLE tablename CHANGE old_field_name new_field_name fieldtype ...;
    增加自增属性(auto_increment) 上一句 最后加AUTO_INCREMENT;前提该字段要是key。
    删除字段 ALTER TABLE tablename DROP fieldname;
    字段加注释(comment) ALTER TABLE tablename MODIFY fieldname fieldtype ... COMMENT 'commentinfo';
    表加注释 ALTER TABLE tablename COMMENT 'commentinfo';
    增删改查  
    INSERT INTO tablename (`fieldname1`, `fieldname2`) VALUES ('value1', 'value2');
    DELETE FROM `tablename` WHERE search_condition;
    UPDATE `tablename` set `fieldname1`='value1', `filedname2`='value2' WHERE search_condition;
    SELECT `fieldname1`, `fieldname2` FROM `tablename` WHERE search_condition;
    分组查询 SELECT `fieldname1`, count(`fieldname2`) FROM `tablename` GROUP BY (`fieldname`);
    范围查询(几个值中的一个) SELECT `fieldname1`, `fieldname2` FROM `tablename` WHERE `fieldname1` IN ('value1', 'value2', 'value3');
    排除范围查询(不是这几个值的) SELECT `fieldname1`, `fieldname2` FROM `tablename` WHERE `fieldname1` NOT IN ('value1', 'value2', 'value3');
    模糊查询  
    查找含有n个a SELECT * FROM `tablename` WHERE fieldname LIKE '%a%';
    查找?bc? SELECT * FROM `tablename` WHERE fieldname LIKE '_bc_';
    查找1a、2a、3a、4a SELECT * FROM `tablename` WHERE fieldname LIKE '[1-4]a';
    查找[^1-8]a外的?a SELECT * FROM `tablename` WHERE fieldname LIKE '[^1-8]a';
    left join查询  select * from product left join category_supply on product.`category_supply_id` = category_supply.`category_id`;
    数组查询 select * from user where username in (1,2,3,4,5); 
       
       

     

    函数相关 (每次看到点数据库的鬼相测试一下都要去php写一大段连接代码,劳资要直接测试,用sql就够了 哈哈哈哈)
    生成1到50随机数 FLOOR(1+(RAND()*50);
    拼接字符串 CONCAT('abc', 'def');
    查看配置全局变量 SHOW GLOBAL VARIABLES;
    查看状态 SHOW STATUS(LIKE '%XXX%');
    局部变量声明 DECLARE @num1 = 1; //局部变量一个@;全局变量俩@,一般用不到
    变量赋值 SET @num1 = 1;//不用上一步声明变量,直接赋值使用也是可以的。
     json解析  select id,json_extract(msg_params, '$') as 奖金 from msg_ready where w_time > 1529889960;
     时间戳  select from_unixtime(1529905118);
       
  • 相关阅读:
    Springboot学习:核心配置文件
    Springboot学习:底层依赖与自动配置的原理
    Springboot学习:介绍与HelloWorld
    js根据时间戳倒计时
    windows phone 豆瓣api的封装
    Android开发初始
    PHP(一)
    程序员修炼之道(一)
    WebClient和HttpReuqest两种网络请求的方式
    黑客与画家(二)
  • 原文地址:https://www.cnblogs.com/sweetXiaoma/p/5903222.html
Copyright © 2011-2022 走看看