• MySQL 常见的sql命令


    注意事项: 

    1、sql 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。

    一、数据库

            1、创建数据库

                  CREATE DATABASE lesson ;

                  创建一个名字为lesson的数据库 

            2、删除数据库

               drop database lesson ;

    二:表

            1、创建表

               CREATE TABLE `mydb`.`it` (
                `id` INT NOT NULL,
                `name` VARCHAR(45) NULL,
                PRIMARY KEY (`id`)

              );

          在名字为mydb的数据库中创建一个表,表的名字叫it.

          表中有两个字段 : id  , name 。 其中主键为 id 

          2、删除表

             DROP TABLE `mydb`.`it`;

              数据库名: mydb

            表名     : it 

        

         3、修改表的名字

            RENAME TABLE student TO user ;

            把student表的名字改为user

       

        4、复制表

            create table table2 select * from user ;

            通过复制user表,来创建一个新表table2

    三:增加数据

         1、往表里插入数据

                 INSERT INTO `mydb`.`user` (`id`, `name`, `age`) VALUES ('2', 'lisid', '25');

                 mydb : 数据库名

                 user  : 表名

                 id ,name ,  age :代表三个字段

                 VALUES  :字段对应的数据

    四:删除数据

            1、条件删除(删除一行数据)

             DELETE FROM user WHERE  id=1  ; 

              删除id = 1 的所有数据  (删除id =1 的这一行)

       

     五、更新数据

              1、更新一个字段的值     

                 UPDATE `mydb`.`user` SET `age`='22' WHERE `id`='1';

                 数据名: mydb

                 表名  : user

                 字段  : age
                 筛选条件 : id = 1 ;

                 在mydb数据库,user表中,把id = 1 的这一行的 age 属性值修改为 22

             2、更新多个字段的值

                  UPDATE `mydb`.`user` SET `name`='奶茶妹妹', `age`='18' WHERE `id`='2'; 

                  在mydb数据库,user表中,把id = 2 的这一行的 name属性值修改为 奶茶妹妹 , age 属性值修改为 22 

    六:查询数据

             1、查询

                  SELECT * FROM mydb.user;

               从mydb数据库中查询user表里面的所有数据

     

            2、单属性查询

               SELECT name  FROM user ;

                 从user表中查询所有的name属性值 

           3、多属性查询

                SELECT name , age  FROM user ;

               从user表中查询所有的name 和 age 的属性值 

      

          4、条件查询 where

               SELECT name , age , id  FROM user where id = 2 ;

               从user表中查询id等于2的所有name、age、id 的属性值,注意id的类型是整型,所以2不用加单引号

             SELECT name , age , id  FROM user where name = 'tom' ;

             从user表中查询 name 值等于‘tom’ 的所有name、age、id 的属性值,注意name的类型是字符型,‘tom’加单引号

            

             SELECT * FROM `user` WHERE id > 5  ;

             从user表中查询 id 值 大于 5 的所有name、age、id 的属性值 

             

             所有的逻辑运算符都支持: 大于 >  、  小于 <  、 大于等于 >=  、 小于等于 <=  、 等于 =  、 不等  !=   (或者 <>) 

            

             SELECT * FROM `user` WHERE id BETWEEN 3 AND 8  ;

             user : 表名

             id    : 字段名

             between : 操作符   作用是选取介于两个值之间的数据范围 

             从user表中查询 id值在3(包含3) 到 (包含8)之间的所有name、age、id 的属性值 。 也就是 id 大于等于3, 小于等于8之间。

             SELECT * FROM `user` WHERE age in ( 12 , 18 )  ;

             user : 表名

             age  : 字段名

             in    : 操作符   作用是为查询条件规定多个值

             从user表中查询出年龄为12岁和18岁的人所有信息。 相当于并集。

         

         5、模糊查询  like

              SELECT * FROM student WHERE phone LIKE '1825%'

             student : 表名

             phone   : 字段名 代表手机号

             LIKE     : 模糊查询

             %        : 代表任意一个或多个字符 , 可匹配任意类型和长度的字符。

             从student表中查出以1825开头的手机号

              SELECT * FROM student WHERE phone LIKE '182%' AND `name` LIKE 'zhang%'   ;

             student : 表名

             phone   : 字段名 代表手机号

             name   :  字段名  代表名字
             从student表中查出以182开头的手机号并且 名字是以zhang开头的所有信息

             SELECT * FROM student WHERE phone LIKE '1825110114_'

             student : 表名

             phone   : 字段名 代表手机号

             LIKE     : 模糊查询

             _         :  代表一个字符

            从student表中查出以1825110114开头的手机号

            SELECT * FROM student WHERE phone LIKE '%114%' ;

            student : 表名

             phone   : 字段名 代表手机号

             LIKE     : 模糊查询

           %        : 代表任意一个或多个字符 , 可匹配任意类型和长度的字符。

             从student表中查出手机号包含114的所有信息

           SELECT * FROM student WHERE phone LIKE '%114\%'  ;

           student : 表名

            phone   : 字段名 代表手机号

            LIKE     : 模糊查询

            %        : 代表任意一个或多个字符 , 可匹配任意类型和长度的字符。

            从student表中查出以114%结尾的手机号 , 第一个 % 代表通配符 , \% 代表% 字符,没有通配符的功能

     

         6、数量限制查询 limit 

            select * from user order by id limit 3 , 5 ;

             从user表中查询 从3开始(包括3),数量为5 条数据。也就是3、4、5、6、7 条数据

             注意5代表的是查询的数量

         7、单字段排序查询   order by  

              * order by  语句用于根据指定的列对结果集进行排序。

            * order by  语句默认按照升序对记录进行排序。

               select * from  mydb.`user` order by age ;

             mydb : 数据库名

             user  : 表名

             age   : 排序字段

             从user表中查询所有的信息,查询结果按照 age 字段排序。(默认升序)

             

             select * from  mydb.`user` order by age DESC ;  

             从user表中查询所有的信息,查询结果按照 age 字段降序排序。

          8、多字段排序查询   order by 

                select * from  mydb.`user` order by age DESC , `name` ;  

              mydb  :数据库

              user   :表名

              age    :年龄

              name  :名字

              从user表中查询所有的信息,查询结果按照 age 降序排序。如果年龄相同,就按照name,升序排序 。 

         

          9、求总 count()

             SELECT COUNT( name ) FROM `user`   ;

             name : 字段名,代表名字

             user  :  表名

             从user表中查询 name 值得数目,不计 null 值。

             

             SELECT COUNT( * ) FROM `user` ;

             查询user表中的记录数

            

             SELECT COUNT( DISTINCT `name` ) FROM `user` ;

             查询user表中name字段不同值的数目,相当于去重。

         10、求最大值 max() 和小值 min()

               *MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。

               SELECT MAX( id ) FROM `user` ;

             从user表中查询 id 字段的最大值

             SELECT MIN( id ) FROM `user` ;

             从user表中查询 id 字段的最小值

           

         11、求和 sum()  

              SELECT SUM( id ) FROM `user` ;

              id     : 字段名

              user : 表名

              查询user表中 id 值的和

        12、求平均值  avg() 

             SELECT AVG( id ) FROM `user` ;

             id     : 字段名

             user : 表名

             查询user表中 id 值的平均数

                 

         13、显示所有数据库

              SHOW DATABASES;

          

         14、显示所有的表

             SHOW TABLES;

         

    七:视图

             1、视图的基本概念

                http://www.cnblogs.com/zzwlovegfj/archive/2012/06/23/2559596.html

             2、创建一个视图

                  CREATE VIEW myview as SELECT * FROM mydb.`user` ;

                myview :视图的名字

                mydb    :数据库的名字

                user     :  表的名字

                查询user表的所有数据,作为视图myview的数据 

       

           3、删除视图

              drop view myview ;

              myview : 视图的名字

        

  • 相关阅读:
    集群间Session共享问题解决方案
    session原理及实现共享
    【单点登录】【两种单点登录类型:SSO/CAS、相同一级域名的SSO】
    HashMap与ConcurrentHashMap的区别
    Java的文件读写操作
    Spring之ClassPathResource加载资源文件
    3万的支付订单请求并发解决方案
    java中的队列
    互联网应用在高并发
    四种Java线程池用法解析
  • 原文地址:https://www.cnblogs.com/zhaoyanjun/p/5234397.html
Copyright © 2020-2023  润新知