整理mysql命令

整理了一些mysql的命令及语句,再此和大家分享下:

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

查看数据库:   show databases;

选择数据库:   use  数据库名;

删除数据库:   drop database 数据库名;

查看数据库中表:  show tables;

查看某一个表的结构:  describe 表名;

查看某一个表建表语句: show create table 表名;

创建一个表:  create table 表名 (字段名 , 类型 , 属性..);

删除表:drop table 表名;

删除表内数据: delete from table 表名;(自增字段不重置)

truncate table 表名(自增字段重置)

修改表结构:  alter table 表名  change 修改前 修改后  属性 类型;

添加主键:alter table 表名 add primary key(字段名);

删除主键:   alter table 表名 drop primary key(字段名);

创建索引:create 索引类型 index 索引名 on 表名(字段名);

删除索引:drop index 索引名;

注:索引是不可修改的,想修改必须删除重新建

-----------简单sql语句-----------

查看表的数据: select * from 表名;

更新表数据 :update 表名  set 字段名=更改值 where id=**;

增加表数据: insert into 表名 value(值1,值2);

删除表某行数据: delete from 表名 where id=**;

------------高级运算词---------

UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL), 不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。

EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重 复行。

INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不 消除重复行。

注:使用运算词时候几个查询结果行必须一致

------------连接--------------

内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现

例:select   t1.字段1,    t2.字段2   from 表1 t1 ,表2 t2 where t1.字段=t2.字段

外连接:left(左边的表不加限制)、right(右边的表不加限制)

例:select  t1.字段1,    t2.字段2   from 表1 t1  left  join  表2 t2 on  t1.字段=t2.字段

   select    t1.字段1,    t2.字段2   from 表1 t1  right  join  表2 t2 on  t1.字段=t2.字段

------------常用查找语句

select 字段名 from 表名 where 条件;

select 字段名  from 表名 where  字段名 = 1,2;       //相等

select 字段名 from 表名 where 字段名 <> 1,2;       //不等

select 字段名 from 表名 where 字段名 in (1,2); //包含

select 字段名 from 表名 where 字段名 not in (1,2)    //不包含

select 字段名 from 表名 where like '%哈哈%';    //模糊查询

select 字段名 form  表名 where 字段名 between  值1 and 值2;     //中间查询

select 字段名 form  表名 where 字段名 not  between  值1 and 值2;     //去除中间查询

select 字段名 from 表名  where 字段名 group by 字段名 having 条件;   //分组并添加限制条件

having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前。而 having子句在聚合后对组记录进行筛选  WHERE 子句作用于表和视图,HAVING 子句作用于组.

having一般跟在group by之后,执行记录组选择的一部分来工作的。
where则是执行所有数据来工作的。
再者having可以用聚合函数,如having sum(qty)>1000

select  字段名 from 表名 where 字段名  order by 字段名 desc         //排序  desc 倒序   asc正序

注意:group by 比order by先执行,order by不会对group by 内部进行排序,如果group by后只有一条记录,那么order by 将无效。要查出group by中最大的或最 小的某一字段使用 max或min函数。

select 字段名  from 表名  where  字段名  limit 0,5;     //限制取出数据条数

select count(*) from 表名 ;    //计算条数 可优化为  select count(1) from 表名  结果一致但速度较快

select max(字段名 ) from 表名  ;    //取最大值

select min(字段名 ) form  表名 ;  //取最小值 

select avg(字段名) from  表名;   //取平均值

select sum(字段名) from 表名; //取和

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值