MySQL 常见的sql命令

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 注意事项:  1、sql 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。 一、数据库         1、创建数据库               CREATE DATABASE lesson ;               创建一个名字为lesso...
注意事项: 

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 : 视图的名字

 

 

 

    

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
2月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
|
2月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
2月前
|
SQL 监控 关系型数据库
查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
以上步骤提供了直观、实用且易于理解且执行的指导方针来监管和优化数据库服务器配置。务必记得,在做任何重要变更前备份相关配置文件,并确保理解每个参数对系统性能可能产生影响后再做出调节。
316 11
|
2月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
|
11月前
|
SQL 存储 关系型数据库
MySQL进阶突击系列(01)一条简单SQL搞懂MySQL架构原理 | 含实用命令参数集
本文从MySQL的架构原理出发,详细介绍其SQL查询的全过程,涵盖客户端发起SQL查询、服务端SQL接口、解析器、优化器、存储引擎及日志数据等内容。同时提供了MySQL常用的管理命令参数集,帮助读者深入了解MySQL的技术细节和优化方法。
|
SQL 存储 关系型数据库
MySQL下使用SQL命令进行表结构与数据复制实践
MySQL下使用SQL命令进行表结构与数据复制实践
261 0
|
SQL 关系型数据库 MySQL
MySQl数据库第八课-------SQL命令查询-------主要命脉2
MySQl数据库第八课-------SQL命令查询-------主要命脉
185 0
|
SQL 关系型数据库 MySQL
MySQl数据库第八课-------SQL命令查询-------主要命脉 1
MySQl数据库第八课-------SQL命令查询-------主要命脉
205 0
|
SQL 存储 开发框架
MySQl数据库第六课-------SQl命令的延续------快来看看
MySQl数据库第六课-------SQl命令的延续------快来看看
176 0
|
SQL 存储 NoSQL
MySQl数据库第五课 --------在SQl的简单命令--------学习学习
MySQl数据库第五课 --------在SQl的简单命令--------学习学习
132 0

推荐镜像

更多