SQL简单使用,进阶篇

  

与上一篇的《SQL简单使用,基础篇》相连续的篇章,《SQL简单使用,基础篇》以下简称《基础篇》。在《基础篇》中,主要简单的带大家了解一下SQL命令中最主要的增删改查命令的使用,增插入,删DETELE/降/截断,改更新,查SELECTE。因为增删改查是SQL命令的核心也是最基础的部分,所以本篇张还是围绕增删改查的使用进行进阶性的介绍与使用。

  

先从《基础篇》中提到的地方子句里面的通配符讲起。

  

1。喜欢用于在哪里子句中搜索列中的指定模式
示例:
<代码> select *从网站名字像“% oo %”;
注:(%分号表示任意数据,_表示任意一个数据,动手练两边就能熟悉)
' G %搜索以G开头的数据
' % G搜索以G结尾的数据
' % G % '搜索包含G的数据
' G '搜索以G开头的两位数据
' G '搜索以G结尾的两位数据
' G '搜索包含G的三位数据

  

1.1通配符还有一种(%,_和[charlist])
示例:[charlist]使用
<代码> select *从网站名字REGEXP”^ [a];

  

2。之间用于选取介于两个值之间的数据范围内的值
示例:
<代码> select *从网站alexa 1至20;
示例:添加不使用
<代码> select *从网站alexa不是1 - 20;
示例:结合在使用
<代码> select * from网站(alexa 1 - 20)和国家(“美国”,“CN”);
示例:文本
<代码> select *从网站名称“A”和“H”之间;不包含H

  

3。前用于规定返回记录的数据,实用
示例:SQL server(选择最高数量| column_name百分比(s)从table_name;)
<代码>从网站,选择前50% *
示例:甲骨文(选择column_name (s)从table_name ROWNUM & lt;=数量;)
<代码> SELECT *从网站ROWNUM, lt; 5。
示例:MYSQL(选择column_name (s)从table_name限制数量;)
<代码> SELECT * FROM网站限制3;

  

4。在操作符允许在哪里子句中规定多个值
示例:查看表网站中名字列的多条数据
<代码> select *从网站名称(“百度”,“谷歌”);

  

5。别名可以为表名称或列名称指定别名。
语法:列名称语法
选择column_name作为alias_name table_name;
示例:
<代码>选择名称为n,国家从网站;c代码
语法:表名称语法
选择column_name (s)从table_name alias_name;
示例:
<代码>选择w.name w.url, a.count,从网站a.date w, access_log w.id=一个。site_id和w.name='菜鸟教程的;
注:
1。在查询中涉及超过一个表
2。在查询中都是用了函数
3。列名称很长或者可读性差都需要把两个列或者多个列结合在一起。

  

6。加入子句用于把来自两个表或者多个表的行结合起来,基于这些表之间的共同字段
加入类型有一下几种:
内连接:如果表中有至少一个匹配,则返回行
左加入:即使右表中没有匹配,也从左表返回所有的行
正确的加入:即使左表中没有匹配,也从右表返回所有的行
完全加入:只要其中一个表中存在匹配,则返回行(<强> MYSQL不支持)

  

首先,连接的结果可以在逻辑上看作是由选择语句指定的列组成的新表。
左连接与右连接的左右指的是以两张表中的哪一张为基准,它们都是外连接。
外连接就好像是为非基准表添加了一行全为空值的万能行,用来与基准表中找不到匹配的行进行匹配。假设两个没有空值的表进行左连接,左表是基准表,左表的所有行都出现在结果中,右表则可能因为无法与基准表匹配而出现是空值的字段。
《数据库系统原理教程》,王珊,陈红编著,P86

  

示例:内连接

  
 <代码>选择
  websites.id,
  websites.NAME,
  access_log.count,
  access_log.date
  从
  网站
  内连接access_log>
  <李>成从一个表复制数据,把数据插入到另一个新表中
注:MySQL数据库不支持选择……入语句,但支持插入……选择。
语法:复制所有的列插入新表中
<代码> SELECT *到newtable从表1 (externaldb);
语法:只复制希望的列插入到新表中
<代码>选择column_name (s)到newtable从表1 (externaldb);      

8.1插入选择
示例:复制“apps"中的数据插入到“Websites"中:
<代码>插入网站(名称、国家)选择app_name,国家从应用程序;

     <李>创建用于创建数据库或者数据表
语法:创建数据库
<代码>创建数据库db_name;
语法:创建数据表   table_name
 <代码>创建表
  (
  column_name1 data_type(大小),
  column_name2 data_type(大小),
  column_name3 data_type(大小),
  ……
  );date_type数据类型、大小参数规定表中列的最大长度

SQL简单使用,进阶篇