新建用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

[host 中 使用 % 为通配符, 匹配任意远程主机]

赋权

GRANT privileges ON databasename.tablename TO 'username'@'host' ;

privileges [select / insert / update / delete / drop * ]

查看用户

select * from mysql.user

插入

insert [table] values (xxx,xxx);

ALTER TABLE的使用

       //主要设置默认值,速度块

ALTER TABLE [tablename] ALTER COLUMN [columname] set default 5;

ALTER TABLE [tablename] ALTER COLUMN [columname] drop default;

//重命名、列类型、位置修改

ALTER TABLE [tablename] CHANGE COLUMN [oldcolumn] [newcolumn] varchar(32) NOT NULL FIRST;

ALTER TABLE [tablename] CHANGE COLUMN [oldcolumn] [newcolumn] varchar(32) NOT NULL AFTER contents;

//列类型、位置修改

ALTER TABLE [tablename] MODIFY COLUMN [newcolumn] varchar(32) NOT NULL AFTER contents;

unixtime

select unix_timestamp("2013-10-10 23:00:00");   // 1381417200

select from_unixtime(1381417200);                    //2013-10-10 23:00:00

datetime

对于字段的时间加减date_add()

set @dt = now();

select date_add(@dt, interval 1 day); -- add 1 day
select date_add(@dt, interval 1 hour); -- add 1 hour
select date_add(@dt, interval 1 minute); -- ...
select date_add(@dt, interval 1 second);
select date_add(@dt, interval 1 microsecond);
select date_add(@dt, interval 1 week);
select date_add(@dt, interval 1 month);
select date_add(@dt, interval 1 quarter);
select date_add(@dt, interval 1 year);

插入重复则更新

INSERT ON DUPLICATE KEY UPDATE语法是原子操作,效率和语法都非常之优美.

SELECT year,month,BIT_COUNT(BIT_OR(1<<day)) AS days FROM t1 GROUP BY year,month;

bit_count函数 计算出二进制中1的个数        //例如      10->1010      bit_count(10) = 2

外键约束的几种行为

  • cascade方式 在父表上update/delete记录时,同步update/delete掉子表的匹配记录 On delete cascade从mysql3.23.50开始可用; on update cascade从mysql4.0.8开始可用
  • set null方式 在父表上update/delete记录时,将子表上匹配记录的列设为null 要注意子表的外键列不能为not null On delete set null从mysql3.23.50开始可用; on update set null从mysql4.0.8开始可用
  • No action方式 如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作 这个是ANSI SQL-92标准,从mysql4.0.8开始支持
  • Restrict方式 同no action, 都是立即检查外键约束    . Set default方式 解析器认识这个action,但Innodb不能识别,不知道是什么意思...      注意:trigger不会受外键cascade行为的影响,即不会解发trigger

修改外键约束

alter table news drop foreign key news_ibfk_1;

alter table news add constraint news_ibfk_1 foreign key(owner_id) references user(UUID) on update cascade on delete cascade;

if使用

if(condition,expr2,expr3)

如果condition为真,返回expr2,否则返回expr3。

IFNULL(expr1,expr2)

假如expr1不为NULL,返回expr1,否则返回expr2。

CASE column WHEN arg THEN data [WHEN arg2 THEN data2] ELSE ndata END AS alias

当column为arg时,显示data[...],都不匹配显示ndata。

show VARIABLES LIKE 'AUTOCOMMIT';

设置启用或者禁用自动提交

set SESSION TRANSACTION ISOLATION LEVEL READ COMMITED;

可以设置4种隔离级别

查看MySQL性能时使用的命令

  • SHOW GLOBAL STATUS
  • SHOW ENGINE INNODB STATUS
  • SHOW FULL PROCESSLIST

转置字段(默认使用','分割)

select group_concat(column_a) where group_by column_b;

mysql版sql助记的更多相关文章

  1. 全国省市级联数据sql语句 mysql版

    全国省市级联数据sql语句 mysql版 --省级 provincial create table provincial ( provincialID int, provincialName ), p ...

  2. SQL优化 MySQL版 - B树索引详讲

    SQL优化 MySQL版  - -B树索引详讲 作者:Stanley 罗昊 [转载请注明出处和署名,谢谢!] 为什么要进行SQL优化呢?很显然,当我们去写sql语句时: 1会发现性能低 2.执行时间太 ...

  3. SQL优化 MySQL版 -分析explain SQL执行计划与笛卡尔积

    SQL优化 MySQL版 -分析explain SQL执行计划 作者 Stanley 罗昊 [转载请注明出处和署名,谢谢!] 首先我们先创建一个数据库,数据库中分别写三张表来存储数据; course: ...

  4. SQL优化 MySQL版 - 索引分类、创建方式、删除索引、查看索引、SQL性能问题

    SQL优化 MySQL版  - 索引分类.创建方式.删除索引.查看索引.SQL性能问题 作者 Stanley 罗昊 [转载请注明出处和署名,谢谢!] 索引分类 单值索引 单的意思就是单列的值,比如说有 ...

  5. 金蝶KIS&K3助记码SQL数据库批量刷新

    金蝶KIS&K3助记码SQL数据库批量刷新 用的次数不多,就没有写入存储过程或者触发里面了,可以自行实现. 第一步选择对应账套的数据库,执行下面的命令,这个是一个函数. go if exist ...

  6. sql语句练习50题(Mysql版-详加注释)

    表名和字段 1.学生表       Student(s_id,s_name,s_birth,s_sex) --学生编号,学生姓名, 出生年月,学生性别 2.课程表       Course(c_id, ...

  7. 常用的PHP数据库操作方法(MYSQL版)

    常用的PHP数据库操作方法(MYSQL版) 作者: 字体:[增加 减小] 类型:转载 时间:2011-06-08   最近一直在折腾自己的网站首页,写的大部分PHP脚本都要用到和MYSQL数据库相关的 ...

  8. Oracle、MySql、Sql Server比对

    1.    价格 MySql:廉价(部分免费):当前,MySQL採用双重授权(DualLicensed),他们是GPL和MySQLAB制定的商业许可协议.假设你在一个遵循GPL的自由(开源)项目中使用 ...

  9. Oracle 助记

    title: Oracle 助记 Nothing is impossible! 基础操作 $ sqlplus name/pssword; # 登录数据库 $ create user username ...

随机推荐

  1. html 表头固定

    <div style="width: 100%; min-width: 300px; padding-right: 10px;"> <table style=&q ...

  2. CRM中的一个函数,保存一下,别系统被ぅ崩坏就麻烦了.

    CREATE OR REPLACE function UXQLCRM.GET_WEI_XIU(htfid in varchar2) ); CURSOR cr_bg_jl is select " ...

  3. JAVA_用_JCO连接_SAP,实现调用SAP_的_RFC_函数(整理)(附一篇看起来比较全面的说明)(JCO报错信息)

    // 获取RFC返回的字段值 11 JCoParameterList exportParam = function.getExportParameterList(); 12 String exPara ...

  4. PCIE卡槽还能这样用!

    前几天去电脑城装了台i5的主机,当时就发现主板上只有2个PCIex2的槽.但奇怪的是2个还长的不一样,一个屁股后面是开口的:) 问装机的小伙子,他也不懂,而且就这电脑操作水平都跟哥差远了,让他给我硬盘 ...

  5. Tomcat 中会话超时的相关配置

      QC同事提到似乎有时Tomcat的会话超时表现有问题,记录一下可能用到的配置. 1)超时时间的设定       tomcat的会话超时可以在多个级别上设置:tomcat实例级别.Web应用级别.s ...

  6. 玩转无线 — GNURADIO 简单运用

    大家好, 我是Insight-labs的旺财,这里放出个旺财在Bsides Toronto 2013 会上RF-Ninjia Hacking议题中的一个案例,随着物联网越来越火热,而物联网又离不开无线 ...

  7. Linux的默认编码可以通过export LC_ALL=zh_CN.GBK来修改

    http://www.cnblogs.com/malecrab/p/5300486.html

  8. Liunx 环境下vsftpd的三种实现方法(超详细参数)

    以下文章介绍Liunx 环境下vsftpd的三种实现方法 ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.3.tar.gz,目前已经到2.0.3版本.假 ...

  9. Android 百度地图开发问题----解决地图有时候加载不出来问题

    相信很多人在开发百度地图的时候会出现百度地图有时候会加载不出来,只显示网格图. 这个问题究其原因就是申请百度key的时候填写的SHA1也就是指纹证书有问题.估计很多开发者都是照着百度开放平台上介绍的流 ...

  10. Python单元测试:unittest使用简介

    一.概述 本文介绍python的单元测试框架unittest,这是Python自带的标准模块unittest.unittest是基于java中的流行单元测试框架junit设计的,其功能强大且灵活,对于 ...