zoukankan      html  css  js  c++  java
  • mysql常用命令

    一 . 基本命令:

    //启动mysql服务器
    net start mysql
    
    //关闭   
    net stop mysql  
     
    //进入
    mysql -h 主机地址 -u 用户名 -p 用户密码 
    
    //退出
    exit
    
    #---------------------------
    #----MySql用户管理---------
    
    //修改密码:首先在DOS 下进入mysql安装路径的bin目录下,然后键入以下命令:
    mysqladmin -uroot -p123 password 456;
    
    //增加用户
    //格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by '密码'
    /*
    如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。
    首先用以root用户连入mysql,然后键入以下命令: 
    grant select,insert,update,delete on *.* to user1@localhost Identified by "password1"; 
    如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。 
    如果你不想user1有密码,可以再打一个命令将密码去掉。 
    grant select,insert,update,delete on mydb.* to user1@localhost identified by ""; 
    */
    
    grant all privileges on wpj1105.* to sunxiao@localhost identified by '123';   #all privileges 所有权限
      
    

     

    二. 单表操作 

    #显示数据库
    show databases;

    #判断是否存在数据库schools,有的话先删除
    drop database if exists schools;
    /*创建指定名称的数据库*/
    CREATE DATABASE schools;
    /*使用哪一个数据库*/
    use `爱仕达多`;
    /*显示某个数据库下的所有数据表*/ show TABLES;

    /*删除数据库*/ DROP DATABASE schools;
    /*查看表结构*/ desc student;
    /*删除表*/ drop TABLE tb_admin1;
    /*创建表*/ CREATE TABLE tb_admin1( `admin_id` int(10), `admin_name` VARCHAR(20), `admin_pass` VARCHAR(20) ); CREATE TABLE `order`( `admin_id` int(10), `admin_name` VARCHAR(20), `admin_pass` VARCHAR(20) ); /*修改表结构*//*通过表的字段名修改字段属性(类型、长度、约束、默认值)*/ ALTER TABLE `tb_admin` MODIFY `admin_name` CHAR(5) not null ; /*查看表结构*/ desc `tb_admin`; /*查看表结构2*/ /*将查看的表以DDL方式显示*/ SHOW create TABLE tb_admin; /*删除表*/ /*会删除表内的数据和表结构*/ drop table tb_admin;

     

    三. 单表查询

    /*创建product表*/
    
    DROP TABLE IF EXISTS `product`;
     CREATE TABLE `product` (
     `id` bigint(11) NOT NULL auto_increment,
     `productName` varchar(50) default NULL,
     `dir_id` bigint(11) default NULL,
     `salePrice` double(10,2) default NULL,
     `supplier` varchar(50) default NULL,
     `brand` varchar(50) default NULL,
    `cutoff` double(2,2) default NULL,
     `costPrice` double(10,2) default NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    
    /*id 唯一标识主建
    productName 产品名称
    dir_id 分类编码
    salePrice 零售价
    supplier 供应商
    brand 品牌
    cutoff 折扣
    costPrice 成本价
    */
    INSERT INTO `product` VALUES ('1', '罗技M90', '3', '90.00', '罗技', '罗技', '0.50', '35.00');
    INSERT INTO `product` VALUES ('2', '罗技M100', '3', '49.00', '罗技', '罗技', '0.90', '33.00');
    INSERT INTO `product` VALUES ('3', '罗技M115', '3', '99.00', '罗技', '罗技', '0.60', '38.00');
    INSERT INTO `product` VALUES ('4', '罗技M125', '3', '80.00', '罗技', '罗技', '0.90', '39.00');
    INSERT INTO `product` VALUES ('5', '罗技木星轨迹球', '3', '182.00', '罗技', '罗技', '0.80', '80.00');
    INSERT INTO `product` VALUES ('6', '罗技火星轨迹球', '3', '349.00', '罗技', '罗技', '0.87', '290.00');
    INSERT INTO `product` VALUES ('7', '罗技G9X', '3', '680.00', '罗技', '罗技', '0.70', '470.00');
    INSERT INTO `product` VALUES ('8', '罗技M215', '2', '89.00', '罗技', '罗技', '0.79', '30.00');
    INSERT INTO `product` VALUES ('9', '罗技M305', '2', '119.00', '罗技', '罗技', '0.82', '48.00');
    INSERT INTO `product` VALUES ('10', '罗技M310', '2', '135.00', '罗技', '罗技', '0.92', '69.80');
    INSERT INTO `product` VALUES ('11', '罗技M505', '2', '148.00', '罗技', '罗技', '0.92', '72.00');
    INSERT INTO `product` VALUES ('12', '罗技M555', '2', '275.00', '罗技', '罗技', '0.88', '140.00');
    INSERT INTO `product` VALUES ('13', '罗技M905', '2', '458.00', '罗技', '罗技', '0.88', '270.00');
    INSERT INTO `product` VALUES ('14', '罗技MX1100', '2', '550.00', '罗技', '罗技','0.76', '300.00');
    INSERT INTO `product` VALUES ('15', '罗技M950', '2', '678.00', '罗技', '罗技', '0.78', '320.00');
    INSERT INTO `product` VALUES ('16', '罗技MX Air', '2', '1299.00', '罗技', '罗技', '0.72', '400.00');
    INSERT INTO `product` VALUES ('17', '罗技G1', '4', '155.00', '罗技', '罗技', '0.80', '49.00');
    INSERT INTO `product` VALUES ('18', '罗技G3', '4', '229.00', '罗技', '罗技', '0.77', '96.00');
    INSERT INTO `product` VALUES ('19', '罗技G500', '4', '399.00', '罗技', '罗技', '0.88', '130.00');
    INSERT INTO `product` VALUES ('20', '罗技G700', '4', '699.00', '罗技', '罗技', '0.79', '278.00');
    
    -- 查询所有货品信息
    SELECT * FROM product;
    -- 查询所有货品的id,productName,salePrice
    SELECT id,productName,salePrice FROM product;
    -- 查询商品的分类编号 ( 避免重复数据-DISTINCT )
    SELECT DISTINCT dir_id FROM product;
    -- 查询所有货品的id,名称和批发价(批发价=卖价*折扣)
    SELECT id,productName,salePrice*cutoff FROM product;
    -- 查询所有货品的id,名称,和各进50个的成本价(成本=costPrice)
    SELECT id,productName,costPrice*50 FROM product;
    -- 查询所有货品的id,名称,各进50个,并且每个运费1元的成本
    SELECT id,productName,(costprice+1)*50 FROM product;
    -- 查询所有货品的id,名称,各进50个,并且每个运费1元的成本(使用别名)
    SELECT id 编号,productName 产品名称,(costprice+1)*50 总的费用 FROM product;
    
    -- 需求:查询商品的名字和零售价(salePrice)。(CONCAT)
    -- 格式:xxx商品的零售价为:xxx
    SELECT CONCAT(productName,'商品的零售价为:',salePrice) AS productSalePrice FROM product;
    
    -- 过滤器查询
    -- 查询货品名 不为 罗技G9X的所有货品信息.
    SELECT * FROM product WHERE productName <> "罗技G9X";
    -- 查询分类编号不等于2的货品信息
    SELECT * FROM product WHERE dir_id <> 2;
    -- 查询id,货品名称,批发价(salePrice*cutoff)大于350的货品
    SELECT id 编号,productName 产品名称,(salePrice*cutoff)批发价 FROM product WHERE salePrice*cutoff>350;
    
    -- 选择id,货品名称,批发价(saleprice*cutoff)在300-400之间的货品
    -- 选择id,货品名称,批发价不在300-400之间的货品
    SELECT id 编号,productName 产品名称,(salePrice*cutoff)批发价 FROM product WHERE (saleprice*cutoff) BETWEEN 300 AND 400;
    SELECT id 编号,productName 产品名称,(salePrice*cutoff)批发价 FROM product WHERE (saleprice*cutoff) not BETWEEN 300 AND 400;
    
    -- 选择id,货品名称,分类编号为2,4的所有货品
    -- 选择id,货品名称,分类编号不为2,4的所有货品
    SELECT id,productName,dir_id FROM product WHERE dir_id IN (2,4);
    SELECT id,productName,dir_id FROM product WHERE dir_id not IN (2,4);
    
    -- 选择id,货品名称,分类编号的货品零售价(saleprice)大于等于250或者是成本(costprice)大于等于200
    SELECT id,productName,dir_id FROM product WHERE saleprice>=250 || costprice>=200 ;
    
    -- 查询商品名为NULL的所有商品
    -- 查询商品名不为NULL的所有商品
    select * from product where productName is null;
    select * from product where productName is not null;
    
    -- 模糊查询-LIKE     %通配符:可表示零或多个字符。 _通配符:可表示一个字符。
    -- 查询id,货品名称,货品名称匹配'%罗技M9_'
    SELECT id,productName FROM product WHERE productName LIKE "%罗技M9_";
    -- 查询id,货品名称,分类编号,零售价大于等于200并且货品名称匹配'%罗技M1__
    SELECT id,productName dir_id FROM product WHERE salePrice>=200 AND productName LIKE "%罗技M1__";
    
    -- 结果排序 ORDER BY
    -- 查询M系列并按照批发价(salePrice*cutoff)排序(加上别名 注意:不能使用中文的别名排序。)
    SELECT productName,(salePrice*cutoff) pfj  FROM product WHERE productName LIKE '%M%' ORDER BY pfj;
    -- 查询分类为2并按照批发价排序(加上别名)
    SELECT productName,dir_id,(salePrice*cutoff) pfj FROM product WHERE dir_id=2 ORDER BY pfj;
    
    
    -- 分页查询 LIMIT beginIndex,pageSize;
    /*beginIndex:是开始索引(从0开始):第一条记录:0,第二条记录:1
    pageSize:每页显示多少条数据
    beginIndex = (当前页数 - 1) * pageSize*/
    
    -- 每页最多3条记录: pageSize = 3:
    SELECT * FROM product LIMIT 0,3;
    SELECT * FROM product LIMIT 3,3;
    SELECT * FROM product LIMIT 6,3;
    SELECT * FROM product LIMIT 9,3;
    
    -- 每页6条数据,要查询前3页
    SELECT * FROM product LIMIT 0,6;
    SELECT * FROM product LIMIT 6,6;
    SELECT * FROM product LIMIT 12,6;
    
    -- 聚集函数   使用聚集函数的时候,不要添加列名
    -- 查询所有商品平均零售价
    SELECT AVG(saleprice) FROM product;
    -- 查询商品总记录数(注意在Java中必须使用long接收
    SELECT COUNT(*) FROM product;
    -- 查询分类为2的商品总数
    SELECT COUNT(*) FROM product WHERE dir_id=2;
    -- 查询商品的最小零售价,最高零售价,以及所有商品零售价总和
    SELECT MIN(saleprice),MAX(saleprice),SUM(saleprice) FROM product;
    
    -- 分组查询
    -- Group by  HAVING对分组之后的结果作筛选.不能在 WHERE 子句中使用组函数(注意)。可以在 HAVING 子句中使用组函数。
    
    -- 查询每个商品分类编号和每个商品分类各自的平均零售价(求2,3,4每类商品的平均零售价)
    select avg(saleprice),dir_id from product group by dir_id;
    -- 查询每个商品分类编号和每个商品分类各自的商品总数。(求2,3,4每类商品的总数)
    SELECT dir_id,COUNT(*) FROM product GROUP BY dir_id;
    -- 查询每个商品分类编号和每个商品分类中零售价大于100的商品总数:
    SELECT dir_id, COUNT(*) FROM product WHERE salePrice>100 GROUP BY dir_id;
    -- 查询 零售价总和大于1500的 商品分类编号以及总零售价和;(根据分类编号查零售价的总和,然后零售价总和大于1500)
    SELECT dir_id, SUM(salePrice) SumSalePrice FROM product GROUP BY dir_id HAVING  SumSalePrice>1500;
    

     

     

  • 相关阅读:
    MySQL批量删除指定前缀表
    jquery--checkbox全选/全不选
    jquery--监听checkbox多选框是否选中,展示输入框
    shell--脚本之间传值,模仿jenkins内置变量的功能
    python--os模块递归本地目录
    python--脚本添加定时任务
    paramiko--密钥连接远端服务器并递归目录
    django--完成客户端下载文件的三种方式
    python--如何给dict字典类型排序
    python--时间相差8小时问题
  • 原文地址:https://www.cnblogs.com/gshao/p/10219233.html
Copyright © 2011-2022 走看看