mysql版sql助记
新建用户
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助记的更多相关文章
- 全国省市级联数据sql语句 mysql版
全国省市级联数据sql语句 mysql版 --省级 provincial create table provincial ( provincialID int, provincialName ), p ...
- SQL优化 MySQL版 - B树索引详讲
SQL优化 MySQL版 - -B树索引详讲 作者:Stanley 罗昊 [转载请注明出处和署名,谢谢!] 为什么要进行SQL优化呢?很显然,当我们去写sql语句时: 1会发现性能低 2.执行时间太 ...
- SQL优化 MySQL版 -分析explain SQL执行计划与笛卡尔积
SQL优化 MySQL版 -分析explain SQL执行计划 作者 Stanley 罗昊 [转载请注明出处和署名,谢谢!] 首先我们先创建一个数据库,数据库中分别写三张表来存储数据; course: ...
- SQL优化 MySQL版 - 索引分类、创建方式、删除索引、查看索引、SQL性能问题
SQL优化 MySQL版 - 索引分类.创建方式.删除索引.查看索引.SQL性能问题 作者 Stanley 罗昊 [转载请注明出处和署名,谢谢!] 索引分类 单值索引 单的意思就是单列的值,比如说有 ...
- 金蝶KIS&K3助记码SQL数据库批量刷新
金蝶KIS&K3助记码SQL数据库批量刷新 用的次数不多,就没有写入存储过程或者触发里面了,可以自行实现. 第一步选择对应账套的数据库,执行下面的命令,这个是一个函数. go if exist ...
- sql语句练习50题(Mysql版-详加注释)
表名和字段 1.学生表 Student(s_id,s_name,s_birth,s_sex) --学生编号,学生姓名, 出生年月,学生性别 2.课程表 Course(c_id, ...
- 常用的PHP数据库操作方法(MYSQL版)
常用的PHP数据库操作方法(MYSQL版) 作者: 字体:[增加 减小] 类型:转载 时间:2011-06-08 最近一直在折腾自己的网站首页,写的大部分PHP脚本都要用到和MYSQL数据库相关的 ...
- Oracle、MySql、Sql Server比对
1. 价格 MySql:廉价(部分免费):当前,MySQL採用双重授权(DualLicensed),他们是GPL和MySQLAB制定的商业许可协议.假设你在一个遵循GPL的自由(开源)项目中使用 ...
- Oracle 助记
title: Oracle 助记 Nothing is impossible! 基础操作 $ sqlplus name/pssword; # 登录数据库 $ create user username ...
随机推荐
- js基础 1.简单js 语法 关键字 保留字 变量
简单js JavaScript 是一个松散性的语言 对象属性却不想c中的结构体或者c++ 和java的对象, 对象继承机制 使用原型的prototype(原型链),js的分为三部分ECMAScript ...
- 使得fiddler来抓包查看微信浏览器的网页源码
需要工具:http://www.telerik.com/fiddler 下载安装后 第二步: 打开这个选项: 设置代理:allow remote computer to connect 端口为888 ...
- 【转】使用Boost Graph library(二)
原文转自:http://shanzhizi.blog.51cto.com/5066308/942972 让我们从一个新的图的开始,定义一些属性,然后加入一些带属性的顶点和边.我们将给出所有的代码,这样 ...
- css 一些事
1.两个div左边的固定宽度右边的自动填充的css <div id="main" style="width:98%;"> <div id=&q ...
- 基于Visual C++2013拆解世界五百强面试题--题9-找出所有的排列方式
给出一个函数来输出一个字符串的所有排列 按照排列组合的知识我们知道 N个字符排列组合个数有n!种, 那么可知f(n) = n*f(n-1), 如果{1,2}的组合有两种,12,21, 那么{123}的 ...
- java学习之jdbc的封装
jdbc是连接数据库必不可少的工具,但每次连接都要重新写一遍太麻烦了,也不利于代码的可读性,这里做一个工具类进行封装. package com.gh; import java.sql.Connecti ...
- TextBox控件只允许输入出生日期,并验证年龄不得小于18岁
1.Body tag <form id="form1" runat="server"> <div> <asp:Label ID=& ...
- string.Format()字符串格式化
Format()基本语法: {索引[,对齐][:格式字符串]} ·索引:表示引用的对象列表中的第n个对象参数. ·对齐(可选):设置宽度与对齐方式,该参数为带符号的整数.正数为 ...
- iOS开发之第三方分享QQ分享,史上最新最全第三方分享QQ方式实现
本文章源码地址: https://github.com/zhonggaorong/QQLoginDemo 项目搭建参考: (包含QQ登录源码下载 . QQ sdk集成) http://blog.cs ...
- 使用uWSGI+nginx部署Django项目
最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...