sql(1)

distinct

        语句用于返回唯一不同的值。也就是说去掉重复的结果集,并且只显示选择的列

      示例:select distinct * from table;

where语句

     用于条件语句,优先级从大到小(),not,and ,or

      in的用法

      示例 :select * from table where a in (1,2,3);

                  表示查询a=1,2,3时的数据 

       like的用法   示例:Select * from emp where ename like 'M%';

           模糊查询时使用  

  •          % 表示多个字值,_ 下划线表示一个字符;
  •          M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。
  •         %M% : 表示查询包含M的所有内容。
  •          %M_ : 表示查询以M在倒数第二位的所有内容。

order by 按此序列升序搜索结果集

    示例:SELECT * FROM Websites ORDER BY alexa;

                根据alexa的序号来排结果集

order by desc 按此列降序搜索结果集

    示例: select * from table order by alexa desc;

                  根据elexa的降序来排结果集desc在表名后面。

insert插入语句

       示例: INSERT INTO table_name (column1,column2,column3,...)VALUES (value1,value2,value3,...);

update更新语句

       示例: UPDATE table SET alexa='5000', country='USA' WHERE name='myname';

                    当名字等于myname时,设置alexa等于5000设置country等于usa

                     千万记住要加where语句,不然你会改变整个表的数据

delet删除语句

       示例:DELETE FROM Websites WHERE name='百度' AND country='CN';

                   根据要求删除那条数据

limit语句

       示例:SELECT * FROM Websites LIMIT 2;

                   选取表中的前两条数据limit表示限制数量

别名AS

       示例: SELECT name AS n, country AS c FROM Websites;

                    列name的别名和列country的别名

       示例: SELECT name, CONCAT(url, ', ', alexa, ', ', country) AS site_infoFROM Websites;

                    把url ,alexa,country合并成一个列,做一个列site-info

join连接  图解

       概述:

                   INNER JOIN:如果表中有至少一个匹配,则返回行

                   LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行

                   RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行

                   FULL JOIN:只要其中一个表中存在匹配,则返回行,mysql不支持 sqlserver支持

      图解:

                                                                           

 

 

                                                                       

 

      示例: select a.id from table1 right join table2 on a.id = b.id;

                   on和wehere的区别是,on在生成表时执行的,不考虑满不满足条件,所以right join 和left join用on

                   如果用where的话,实在生成表后执行,只要不符合条件,就不会查询到,不管左对齐还是右对齐。

UNION 操作符

   union英文原意是联合合并,操作符合并两个或多个 SELECT 语句的结果。

  请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句   中的列的顺序必须相同。

   union 和union all的区别:是union只查询不带重复的,union all查询可重复的搜索的结果集

    示例:select name from table1 union select name from table2;选出两个表中的所有name的结果不带重复

                select name from table1 union all select name from table2;选出两个表中的所有的name的结果,结果带重复

   带有 WHERE 的 SQL UNION ALL

    示例:SELECT country, name FROM Websites WHERE country='CN'
               UNION ALL
               SELECT country, app_name FROM apps WHERE country='CN' ORDER BY country;

               select 列1,列2 from 表1 where 列1=“条件” union all select 列1 列2 from 表2 where 列1=“条件2”;

SELECT INTO 语句

     可以从一个表复制信息到另一个表。

    MySQL 数据库不支持 SELECT ... INTO 语句,但支持 INSERT INTO ... SELECT 

    拷贝表  CREATE TABLE 新表 AS SELECT * FROM 旧表

    只复制表结构

      1. 加了一个where语句

  create table table_name_new as select * from table_name_old where 1=2;

      2.用like

      create table table_name_new like table_name_old;

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值