sql(structure query language)结构化查询语言
ansi iso/iec组织制定
ddl(data definition language) 数据定义语言
dml(manipulation) 数据操纵语言
dcl(control) 数据控制语言

select 从数据库中检索信息(select ... as ...)
distinct 关键字去除所有重复的行
select distinct depart from staff;

limit 限制返回的行数
select name from staff limit 3;
select * from emp order by ID limit 3,4;
order by desc, order by asc

完全限定表名:在其它数据库中查询某个表
select staff.name from enterprise.staff;

select user();
select user,host,password from mysql.user;
select database();查看当前的数据库
select bin(f1) from t4;
select last_insert_id();
select length(f2) from t1;
select concat(f1, '+'), concat(f2, '+') from t1;连接
select concat('ab','cd');
select f1 - f2 from t2;
select count(1) from emp
select * from emp order by ID(desc);
select user,host,password from mysql.user;
select * from cj where (class,math)=(select distinct class,math from cj where name='xxx');
sqlite3 /home/wusl/medispan.sqlite "select NDC,DDI, count(distinct NDC) from medndc where Change_Date >= '20140101' group by NDC" >ndc
sqlite3 /home/wusl/medispan.sqlite "select NDC,DDI,group_concat(distinct NDC) from medndc where Change_Date >= '20140101' group by NDC" >ndc

order by 数据检索排序
desc:按降序排序

where 过滤数据
between and
and,or操作符
()
in
通配符过滤 like

create
表,null值, 主键、外键, auto_increment
create index
create table t2 like t1; 快速建表

alter 修改(对表内参数操作)
添加、删除列(add,drop)
alter table t1 add (f1 date);
alter table emp add primary key (f1); 添加主键
alter table emp add constraint fk1 foreign key (deptno) references dept(deptno) ON DELETE CASCADE ON UPDATE CASCADE(级联操作); 添加外键
alter table t2 drop age;
alter table emp drop primary key;删除主键(无自动编号)
alter table employees drop foreign key fk1;删除外键
alter table tb_name add address varchar(30) not null after phone; 在指定位置增加字段

修改列属性(modify)
alter table t1 modify age int(4) zerofill;
alter table t1 modify f1 set('a','b','c');
alter table employees modify empName varchar(16) first;

列的重命名(change)
alter table t5 change addr address;

表的重命名(rename,to)
alter table t1 rename t2;
alter table t1 to t2;

引擎转换
ALTER TABLE mytable ENGINE=innodb;

drop 删除数据库中的库、表、索引、函数、存储过程等
drop database if exists ds;删除数据库(先要到其它数据库)
drop table if exists emp;删除表
drop user 'tom'@'%';删除用户

insert 插入到表中
insert into emp(id, name, age) values (1, tom, 20);
insert into t1 values (now(), now());
insert into t1 select 1, 2;
insert into emp (age,sex) select age,sex from dept;
insert ignore into表示,如果中已经存在相同的记录,则忽略当前新数据;

update 更新
update t1 set ID=1.2 where ID=2;
update emp set salary = salary*1.1 where ID>=50;

delete 删除表中的数据
delete from emp where id=2;

truncate 删除表中的所有数据
truncate table sales;复位(自动编号从1开始)

select user,host,password from mysql.user;

grant 为用户授权
grant all on *.* to 'root'@'10.1.1.135' identified by 'aixocm' with grant option;
grant select,insert on ds.* to 'tom'@'%' identified by 'aixocm';
flush privileges;刷新权限
GRANT ... WITH MAX_USER_CONNECTIONS 2;
GRANT ALL PRIVILEGES ON shandong.* TO 'demo'@'%'WITH GRANT OPTION;
GRANT REPLICATION SLAVE ON *.* TO 'slave001'@'192.168.0.99' IDENTIFIED BY '123456';---flush privileges;

revoke 撤销特定的权限
revoke select on ds.* from 'tom'@'%';

show 查看数据库中的信息
show databases;
show create table emp; \G
show * from dept;
show engines;
show variables like '%..%';
show table status like '%t1%'\G
show grants for 'tom'@'%';
show procedure status\G
SHOW COLUMNS
show grants; show grants for 'user'@'host'
SHOW TABLE STATUS from mytest where Name='test';
show engine innodb status; 看看InnoDB所有的数据都已经同步到磁盘上去了
show table status from libra where engine='innodb' \G 查看innodb的表
show grants for root@localhost \G 查看用户的权限
show global variables like "%genera%";

set
set password =password('你的密码');
set foreign_key_checks = 0;
set time_zone = '+9:00';

set global auto_increment_offset=2;
set global auto_increment_increment=2;
set session auto_increment_increment=2;
set session auto_increment_offset=2;

flush
flush tables with read lock; 施加锁,表示把位于内存上的表统统都同步到磁盘上去,然后施加读锁
flush logs; 滚动下日志

replace
除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义
update candidate set education = replace(education,'科','学') where education like '%科%';
把数据中出现"科"的都替换为"学"。

EXPLAIN
EXPLAIN table_name或EXPLAIN SELECT select_options
前者可以得出一个表的字段结构等等,后者主要是给出相关的一些索引信息

delimiter // 改变结束符
call sp1() 调用sp1函数

分组聚合
select deptno,count(1) from emp group by deptno;
select deptno,count(*) from emp group by deptno having count(*) > 1;
group by子句要放在where子句之后。如果想取某个年龄段人数大于1的,不能用where count(*) > 1 ,因为聚合函数不能放在where子句之后。要用having子句

多表查询
select a.empName, b.deptName from emp a, dept b where a.deptno = b.deptno;

内链接,左外,右外

help contents;

自动增长恢复
alter table xxx AUTO_INCREMENT 1;

=any 等同于in
!=all 等同于 not in
Some 和any同义
All,any ,some可以使用除了=,!=之外运算符,比in强大

MySQL语法的更多相关文章

  1. MYSQL 语法大全自己总结的

    mysql语法大全 --------数据链接---------------------数据库服务启动net start mysql --关闭服务net stop mysql --登录 -u,-p后面不 ...

  2. 学习mysql语法--基础篇(一)

      前  言  mysql  mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据. 本篇学习主要有两个部分:    一.创建用户,创建数据库,给 ...

  3. 学习mysql语法--基础篇(二)

      前  言  mysql  mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据. 本篇学习主要有两个部分: [SQL语句的组成]   DML ...

  4. mysql语法之case when then与列转行

    mysql语法中case when then与列转行的使用场景非常丰富. case语句类似java中条件分支语句的作用,可以类比java中的switch语句或者if语句来学习. 其语法如下: case ...

  5. mongo 与 传统mysql语法对比

    MongoDB语法                                  MySql语法 db.test.find({'name':'foobar'})<==> select ...

  6. Mongodb与mysql语法比较

    Mongodb与mysql语法比较   mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由 ...

  7. mongodb linux基本启动 基础增删改 mysql语法的对比

    一.主流数据源类型 还存在自定义数据源以及REST接口数据,共6中数据源. 二.linux下启动连接数据库 进去mongodb的目录启动服务:mongo --host 192.168.320.826 ...

  8. mysql 基础篇5(mysql语法---数据)

    6 增删改数据 -- ********一.增删改数据********* --- -- 1.1 增加数据 -- 插入所有字段.一定依次按顺序插入 INSERT INTO student VALUES(1 ...

  9. MongoDB(五)mongo语法和mysql语法对比学习

    我们总是在对比中看到自己的优点和缺点,对于mongodb来说也是一样,对比学习让我们尽快的掌握关于mongodb的基础知识. mongodb与MySQL命令对比 关系型数据库一般是由数据库(datab ...

  10. mysql 语法总结

    设置SQL语句所用的字符编码:set names UTF8; 判断指定的数据库是否存在:DROP DATABASE IF EXISTS  库; 开始使用指定的数据库:USE 库; 创建数据库CREAT ...

随机推荐

  1. 表空间、Schema和用户

    源地址:http://www.cnblogs.com/kevinanni/p/3688921.html

  2. Java中数字操作

    public static void main(String[] args) throws Exception { { //Math函数的四舍五入,注意负数的时候小数位<=0.5都会被舍去,&g ...

  3. feedback 是什么意思

    feedback 是什么意思 能否不要说 feedback 呢?  加一个 feedback?  天啊   先解释一下 feedback 是什么  ? 还有   aria-describedby=&q ...

  4. 9.链式A+B

    题目描述 有两个用链表表示的整数,每个结点包含一个数位.这些数位是反向存放的,也就是个位排在链表的首部.编写函数对这两个整数求和,并用链表形式返回结果. 给定两个链表ListNode* A,ListN ...

  5. Codeforces Round #223 (Div. 2) A

    A. Sereja and Dima time limit per test 1 second memory limit per test 256 megabytes input standard i ...

  6. Cv运动分析与对象跟踪(转)

    Cv运动分析与对象跟踪   目录 [隐藏] 1 背景统计量的累积 1.1 Acc 1.2 SquareAcc 1.3 MultiplyAcc 1.4 RunningAvg 2 运动模板 2.1 Upd ...

  7. WIFI知识累计之802.11协议radiotap头解析方法

    radiotap官方网站:http://www.radiotap.net/Radiotap 该网站详细介绍了radiotap的各个字段的长度和介绍,并包含解析代码项目地址,该文就在此网站的基础编写一些 ...

  8. 转——Android应用开发性能优化完全分析

    [工匠若水 http://blog.csdn.net/yanbober 转载请注明出处.] 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉 ...

  9. Linux操作系统下三种配置环境变量的方法——转载

    来源:赛迪网 作者:millio       现在使用linux的朋友越来越多了,在linux下做开发首先就是需要配置环境变量,下面以配置java环境变量为例介绍三种配置环境变量的方法. 1.修改/e ...

  10. iOS  Emoji表情编码/解码

    之前做弹幕的时候 遇到的表情编码解码问题 表情编码一般是使用unicode编码 ,编码之后的格式 \ud83d\ude18\ud83d\ude18world\u4e16\u754chaha\ud83d ...