zoukankan      html  css  js  c++  java
  • 基础概念和一些基础SQL语句

    数据库基本概念

    数据库:保存有组织的数据的容器(通常是一个文件或一组文件)。
    表:某种特定类型数据的结构化清单,数据库中的表都有一个唯一的名字用来标识自己。
    模式:关于数据库和表的布局及特性的信息。
    列:表中的一个字段。所有表都是由一个或多个列组成,每个列都有对应的数据类型。
    行:表中的一个记录。
    主键:一列(或一组列),其值能够唯一区分表中每个行(每条记录)。
    任意两行都不具有相同的主键值,每个行都必须具有一个主键值(主键值列不允许NULL值)。
    SQL:一种专门用来与数据库通信的语言,SQL不依赖DBMS的存在而存在。
    
    DDL—数据定义语言(Create,Alter,Drop,DECLARE) 
    DML—数据操纵语言(Select,Delete,Update,Insert) 
    DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 

    根据已有的表创建新表: 
    A:create table tab_new like tab_old (使用旧表创建新表) 
    B:create table tab_new as select col1,col2… from tab_old definition only

    几个简单的基本的sql语句

    选择:select * from table1 where 范围 
    插入:insert into table1(field1,field2) values(value1,value2) 
    删除:delete from table1 where 范围 
    更新:update table1 set field1=value1 where 范围 
    查找:select * from table1 where field1 like '%value1%' ---like的语法很精妙,查资料! 
    排序:select * from table1 order by field1,field2 [desc] 
    总数:select count as totalcount from table1 
    求和:select sum(field1) as sumvalue from table1 
    平均:select avg(field1) as avgvalue from table1 
    最大:select max(field1) as maxvalue from table1 
    最小:select min(field1) as minvalue from table1 

    几个高级查询运算词 

    A: UNION 运算符 
    UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生 
    出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派 
    生表的每一行不是来自 TABLE1 就是来自 TABLE2。 
    B: EXCEPT 运算符 
    EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个 
    结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 
    C: INTERSECT 运算符 
    INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果 
    表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 
    注:使用运算词的几个查询结果行必须是一致的。 

    使用外连接 

    A、left outer join: 
    左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。 
    sql: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c 
    B:right outer join: 
    右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。 
    C:full outer join: 
    全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。 

    SHOW

    SHOW DATABASES;(;可用g代替):显示当前安装的数据库
    SHOW TABLES; 查看当前数据库中的可用表的列表
    SHOW COLUMNS FROM tablename; 查看某个表中的内容,它对每个字段返回一行,行中包含字段名、数据类型、是否允许NULL、键信息、默认值以及其他信息
    DESCRIBE tablename; 和 SHOW COLUMNS FROM tablename; 具有相同的功能,前者是后者的缩写版。
    SHOW STATUS; 用来显示广泛的服务器状态信息。
    SHOW CREATE DATABASE databasename; 用来显示创建特定数据库的MySQL语句。
    SHOW CREATE TABLE tablename; 用来显示创建特定表的MySQL语句。
    SHOW GRANTS; 用来显示授权用户(所有用户或特定用户)的安全权限。
    SHOW ERRORS; 用来显示服务器错误
    SHOW WARNINGS; 用来显示服务器的警告消息

     

    SELECT

    SELECT columnname FROM tablename; 用来检索数据表中的coulumnname列中的内容
    SELECT row1,row2... FROM tablename; 用来检索数据表中的row1,row2...行的内容
    SELECT * FROM tablename; *为通配符,用来检索表中的所有列
    SELECT DISTINCT key FROM tablename; 用来检索表中不同值key的行
    SELECT key FROM tablename LIMIT num; 返回key的前num行数据
    SELECT key FROM tablename LIMIT num1,num2; 返回表中key的以num1为起点后num2行
    SELECT tablename.colunname FROM tablename; 用来检索数据表中的coulumnname列中的内容,但是同时列出了表明和列名(完全限定)
    SELECT coulumname FROM tablename ORDER BY key; 以key为导向排序(升序ASC,可省略)
    SELECT coulumname FROM tablename ORDER BY key DESC; 以key为导向排序(降序,注:当有多个key时DESC只作用于直接位于其前面的key)
    SELECT coulumname FROM tablename WHERE condition; 按照条件condition从表中检索指定列中的数据(WHERE子句在FROM子句后给出)
    SELECT coulumname FROM tablename WHERE key BETWEEN c1 AND c2; 从表中检索指定列中在条件c1和c2之间的数据(c1 <= c2)
    SELECT coulumname FROM tablename WHERE key IS NULL; 从表中检索key中为NULL的数据

    操作符

    用来联结或改变WHERE子句中的子句的关键字。
    
    AND操作符:
    
    用在WHERE子句中的关键字,用来指示检索满足 所有 给定条件的行。
    
    OR操作符:
    
    用在WHERE子句中的关键字,用来表示检索匹配 任一 给定条件的行。
    
    IN操作符:
    
    用在WHERE子句中的关键字,用来指定要匹配值的清单的关键字(取合法值的由逗号分割开的清单,全在圆括号中),功能与OR相当。
    
    NOT操作符:
    
    用在WHERE子句中的关键字,用来否定它之后所跟的任何条件。
    
    BETWEEN操作符:
    
    用在WHERE子句中的关键字,用来检查某个范围的值。

    通配符

    用来匹配值的一部分的特殊字符。为在搜索子句中使用通配符,必须使用LIKE谓词。LIKE指示MySQL后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较。
    
    %通配符:
    
    表示任何字符出现的任一次数。
    
    _通配符:
    
    下划线通配符 _ 用途与%一样,但下划线只匹配单个字符而不是多个字符。
  • 相关阅读:
    pixijs shader 制作百叶窗效果
    pixijs shader 贴图溶解效果教程
    shadertoy使用教程
    pixijs shader教程
    glsl shader简明教程系列1
    javascript判断mp3是否播放完
    wxWidgets Tutorial
    NYOJ 214 最长上升子序列nlogn
    解决codeforces访问慢的问题
    dp 斯特林数 HDU2512一卡通大冒险
  • 原文地址:https://www.cnblogs.com/cnn2017/p/6781830.html
Copyright © 2011-2022 走看看