mySQL:SQL语句的分类及使用

DDL(Data Definition Languages)语句:

数据定义语言,定义不同的数据段,数据库,表,列,索引等数据库对象。

常用的关键字 create,drop,alter等,简单的说,就是对数据库内部的对象进行创建、删除、修改的操作语言。

1.create

create table 表名;                                    创建表

create database 数据库名;               创建数据库

2.drop

drop table 表名;                                       删除表

drop database  数据库名                         删除数据库

3.修改表

 改表名:   alter  table  旧表名  rename     新表名                                                   

 

修改属性类型:   alter table  表名  modify  属性名  新属性类型                                             

 

修改属性名和属性类型:alter table 表名   change  旧属性名  新的属性名  属性类型               

增加字段: alter table 表名  add  属性名  属性类型   【完整约束】             

 

删除字段:alter table 表名  drop  属性名  ;                                 

 

修改属性排序: alter table 表名  modify 属性名 属性类型 after  属性名 属性类型         

 

修改表的存储引擎: alter table 表名  engine=innodb\myisam;                 

DML(Data Manipulation language):数据操纵语句,用于添加,删除,更新和查询数据库的记录,并检查数据完整性,常用的语句关键字主要包括insert ,delete,udpate,select;

 

1.插入记录

insert into 表名(字段1,字段2,....) values(value1,value2,...)

2.更新记录

update 表名  set  字段1=值1,字段2=值2,......where  [condition]

3.删除记录

delete from 表名  [where condition]

4.查询记录

select * from 表名 【where contion】

4.1查询不重复的记录

  select  distinct  字段名  from 表名;

4.2多条件查询

在很多情况下,用户并不需要查询所有的记录,而只是需要根据限定条件来查询一部分数据,用where关键字可以实现这样的操作。

select * from 表名 where【contion】  

where之后可以是 =  > < !=  or and 

4.3排序和限制

select * from 表名  order by 字段名 【desc|asc】

order by后面可以跟多个字段

对于排序后的数据希望只显示一部分,使用limit关键字来实现;

select   ....................  limit  [offset_start,row_count]

offset_start 表示起始位置

row_count 表示显示的行数

4.4聚合

很多情况下,我们需要进行一些汇总操作,比如统计整个公司的人数或者统计每个部门的人数

select [字段名1,字段名2,字段名3,.....] fun_name            from   表名

[where contiton]

[group by 字段名1,字段名2,.....]

[with rollup]

[having where_contion];

fun_name 聚合函数   sum,count,max,min

group by 关键字表示要进行分类聚合的字段,

with rollup 可选语法,表明是否对分类聚合后的结果进行再汇总,

having 表示对分类后的结果再进行条件过滤。

where和having的区别:

having是对聚合后的结果进行条件过滤

where是在聚合前就对记录进行过滤。

(5)表连接

当需要同时显示多个表中的字段时,就可以用表连接来实现这样的功能。

表连接分为内连接和外链接,内连接仅仅选出两张表中相互匹配的记录,而外链接会选出其他不匹配的记录。

外连接分为左连接和右连接

左连接:包含所有的左边表中的记录甚至是右边表中没有和它匹配的记录

select * from   左表名  left join   右表名   on  左表名.字段=右表名.字段

右连接:包含所有的右边表中的记录甚至左边表中没有和它匹配的记录。

select * from   左表名  right  join   右表名   on  左表名.字段=右表名.字段

(6)子查询 

某些情况,当我们查询的时候,需要的条件是另外一个select语句的结果,这个时候,就要用到子查询。

用于子查询的关键字主要包括in ,in not   =  !=   exists  not exists

(7)记录联合

经常会碰到将两个表的数据按照一定的查询条件查询出来后,将结果合并到一起显示出来,

需要用到union 和union all 关键字

select 字段名 from 表名1

union all  |union

select 字段名  from 表名2

union与union all主要区别:

unino all把结果集直接合并在一起,union是将union all 后的结果进行一次distinct,去除重复记录后的结果。

DCL语句:主要是DBA用来管理系统中的对象权限时所使用。

dcl数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。定义了数据库,表、字段、用户的访问权限和安全级别。主要包括grant,revoke;

 

 

 

 

       

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值