sql语句简单汇总

一直做web开发,虽然也经常用sql语句,也做一些数据库性能调整和备份,但总体感觉是不太专业,所以抽个时间深入的学习一下mysql,毕竟一般的公司是没有专职的dba的。


这是第一节,就写sql语句的汇总。

sql语句分为三种:

1、ddl:数据定义语言,主要是定义数据库、表、索引等数据库对象,主要的语句就是create、drop、alter等。

2、dml:数据操纵语言,这是web开发者最熟悉的,主要是用来维护数据库记录,selelct、insert等。

3、dcl:数据控制语言,就是管理访问权限的,如grant、revoke。


一、ddl:数据定义语言

show databases;

show tables;

create database name;

create table name;

desc tablename;

show create table tablename;

drop database name;

drop table name;


alter table tname modify column column_definition first|after col_name

alter table tname add column column_definition  first|after col_name

alter table tname change column old_col_name column_definition first|after col_name

alter table tname rename newname;

这些是开发人员最不常用的,都是拿图形化工具修改的。


二、dml:数据操纵语言

这里主要说几个不太常用的用法。


1、使用insert一次插入n条记录

insert into table (filed1,......) values

(val1_1,......),

(val2_1,......);


2、使用update更新多个表中的数据

update t1,t2 set t1.filed=x, t2.filed=y where.....


3、使用delete删除多个表中的数据

delete from t1,t2 where ......


4、limit关键字

这个关键字后面可以跟两个参数,也可以只跟一个参数。

跟两个参数的情况:

limit offset, count。

跟一个参数的情况:

limit count。


5、having和where

这两个关键字的后面都可以跟随条件,但性质不同。

having是在汇总之后对记录集进行过滤,二where则是在汇总之前就要过滤。


6、三种连接

内连接、左连接、右连接。

内连接:只列出相互匹配的记录

左连接:显示左边表的所有记录,右表不匹配就用null代替

右连接:显示右边表的所有记录,左表不匹配就用null代替


7、子查询

所谓的子查询,就是在查询的时候,需要的条件是另外一个select的结构,常用的关键字:in、not in、exists、not exists。

子查询是4.1以后的版本才有的功能。


8、unio和union all

union就是将union all的结果进行了一次distinct




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值