mysql基本命令

mysql 命令查看打开状态:services.msc
进入数据库  mysql -u 数据库名 -p



DDL 数据定义语言:用来定义数据库对象,数据库,表,列等:
    create  创建    alter 修改    drop     删除
DML 数据操作语言,用来对数据库中表的记录进行更新:
    insert    插入    delete    删除    updata    更新
DCL 数据控制语言,用来定义数据库的访问权限和安全级别及创建用户

DQL 数据查询语言,用来查询数据中表的记录:
    select    查询    from    来自    where    查询条件

SQL基本命令:
   创建数据库:    create database 数据库名;
   显示数据库:    show databases;
   删除数据库: drop database 数据库名;
   使用数据库: use 数据库名;
有时候表中的信息是乱码:解决 set names'gbk';
    原因。dos中的编码是GBK,而数据库中的编码是 utf-8;


   创建数据表的格式:
    create table 表名(
        列名1 数据类型 约束(可写可不写),
        列名2 数据类型 约束(可写可不写),
        列名3 数据类型 约束(可写可不写)
    );

 

约束:主键约束,保证这列的数据永远保持唯一性和非空性;
    关键字:primary key (auto_increment) 可自动增长序号
      非空性约束,保证此列数据不能为空;
      唯一约束,保证这列的唯一性;


表的基本操作:
   删除表: drop table 表名;
   查看表: show tables;
   查看表详细结构: desc 表名;
   查看某个表中的数据:select * from 表名;

查询指定列的数据:
    select 列名1,列名2 from 表名;


   修改表 :
    添加列,添加字段:
     alter table 表名 add 列名 数据类型 约束

    修改列,在原有列上修改:修改列名,数据类型的约束:
    alter table 表名 modify 列名 数据类型 约束;
    
    修改列名:
    alter table 表名 change 旧列名 新列名 类型(长度) 约束;

    删除列:
    alter table 表名 drop 列名;

    修改表名:
    rename table 表名 to 新名;

    修改表的字符集:    
    alter table 表名 character set 字符集;


查看表的所有:
    select * from 表名 where 条件; // name = '吃饭支出';  
price > 1000;

    查询值在一个范围:
    select * from 表名 where 条件 and 条件;  
        // where moneny > 2000 and money < 5000;

    select * from 表名 where 列名 between 条件 and 条件;
        //where money between 1000 and 5000;

    查询条件是/ 不是 多个中的任意一个:
    select * from 表名 where 列名 in (1000,2000,4000);
    select * from 表名 where 列名 not in (1000,2000,4000);


like 模糊查询;必须配合通配符;
    查询所有支出:
select * from 表名 where 列名 like '%条件';
    // where name like '王%';

% : 表示多个字符
_ : 表示一个字符

查询不为空的:
    select * from 表名 where is not null;



向表中添加数据:
    insert into 表名(列名1,列名2,列名3) value (值1,值2,值

3);
    insert into 表名 values (值1,值2,值3);    //没有写

列名,但是输入值要把信息值全写,不能省略,不然系统会认为第一个值
 
为主键;


    添加数据,批量写入:

    insert into 表名(列名1,列名2,列名3) values (值1,值2,

值3),(值1,值2,值3),(),....可以无限加,若有主键,且自动增加,则

可以坐在列名和值省略。


    对数据进行更改,在原有的基础上:
    updata 表名 set 列1=值1,列2=值2 where 条件;

    
 
    删除表中的数据:
    delete from 表名 where 条件;
    drop table 表名;     //删除整个表

    SQL的不等于:<>
    与:and    
    或:or
    非:not


查询,对结果进行排序
    升序,降序,对指定列排序
    order by 列名 [desc][asc]      //asc 升序   desc  降序

select * fromm 表名 order by 列名 desc;

对过滤出来的信息进行排序:
select * from 表名 where 列名 like '%条件%' order by 列名 desc;
//
select * from 表名 where name like '%型%' order by age desc;


聚合查询:纵向查询;
聚合函数:
    count :统计指定列不为null的记录行为;
    sum :计算指定列的数值合;
    max : 计算指定列的最大值;
    min :计算指定列的最小值;
    avg :计算指定列的平均值;


求和,对表中的数据个数求和:
    select count(*) as 'count' from 表名;

   sum 求和,对一列中数据进行求和计算 sum(列名)
    select sum(列名) from 表名;
   带条件的求和
    select sum(列名) from 表名 where 列名 like '%条件%';


max 找出某列的最大值:
    select max(列名) from 表名;


avg 算出一个列的所有数据平均数;
    select avg(列名) from 表名;




分组查询:
    group by 被分组的列名;必须跟随聚合函数;select 查询时,被

分组的列,要出现在select 选择列的后面;  
 
select sum(列名),列名 from 表名 group by 列名;
//
select sum(pricee),name from product group by name;

吧名字一样的分成了一组,并求他们的金额总和;


带条件的分组:
    对内容进行查询求和,但只要输出

select sum(列名),列名 from 表名 where 列名 like '%支出%' group
by 列名 order by sum(列名) desc;

//
select sum(price)as 'getsum',name from product where name like '%

支出%' group by name order by sum(price) desc;



having  关键之能对分组查询后,再次进行筛选,而where不能

//  对price 内容进行分组求和,但是只要支出,显示大于5000;
select sum(price)as 'getsum',name from product where name like '%

支出%' group by name having getsum>5000;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值