您现在的位置:首页 >> 数据库 >> 内容

SQL语言基础入门总结

时间:2016-4-7 10:05:49 点击:

  核心提示:code class='hljs http'SQL学习笔记总结基础部分一、基本概念1 什么是SQL: SQL就是结构化查询语言2 RDBMS: 关系型数据库管理系统3 SQL的语言的作用: SQL 面...
<code class="hljs http">
                            SQL学习笔记总结
 
                           基础部分
 
一、基本概念
 
    1 什么是SQL:   SQL就是结构化查询语言
    2 RDBMS: 关系型数据库管理系统
    3 SQL的语言的作用:   SQL 面向数据库执行查询
                           SQL 可从数据库取回数据
                           SQL 可在数据库中插入新的纪录
                           SQL 可更新数据库中的数据 
                           SQL 可从数据库删除记录
                           SQL 可创建新数据库
                           SQL 可在数据库中创建新表
                           SQL 可在数据库中创建存储过程
                           SQL 可在数据库中创建视图
                           SQL 可以设置表、存储过程和视图的权限
 
二、SQL语句分类
 
    1) DDL 数据定义语言: SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
 
             重要的SQL DDL语句:
                 1 CREATE DATABASE - 创建新数据库
                 2 ALTER DATABASE - 修改数据库
                 3 CREATE TABLE - 创建新表
                 4 ALTER TABLE - 变更(改变)数据库表
                 5 DROP TABLE - 删除表
                 6 CREATE INDEX - 创建索引(搜索键)
                 7 DROP INDEX - 删除索引
 
    2) DML 数据操作语言
 
             常见的DML语句: 增删改查
                 1 SELECT - 从数据库表中获取数据
                 2 UPDATE - 更新数据库表中的数据
                 3 DELETE - 从数据库表中删除数据
                 4 INSERT INTO - 向数据库表中插入数据
 
三、 SQL语句讲解
 
    1) select 语句: select * from 表名;
                     select 列名 from 表名;
                     select distinct 列名 from 表名; 
 
                       select distinct 列1,列2 from 表名    筛选列1和列2值都一样的行,只显示一个
 
 
 
 
    2) where 语句: 用于规定选择标准   select 列名 from 表名 where 列名 值(表达式)
                    where语句中常用的表达式:
                                     = 等于
                                     <> 不等于
                                     > 大于
                                     < 小于
                                     >= 不小于
                                     <= 不等于
                                     between 在某个范围内
                                     like 搜索某种模式
                                     and 用于基于一个条件以上对记录的连接
                                     or 运算符用于基于一个以上的条件对记录进行过滤
 
    3) order by 语句: 用于对结果集排序
                   order by 语句用于对列的排列,默认是按升序排序的,可以使用desc关键字按降序排序。order by 后面可以跟多个列,排序优先顺序是
                   先按order by后面的第一个列排序,再排下一个,以此类推……
 
    4) insert into 语句: 语句用于向表格中插入新的行   insert into 表名 values(值1,值2,……)
                                                           insert into 表名 (列1,列2,……) values (值1,值2,……)
 
    5) update 语句: update 语句用于修改表中的数据, 语法格式: update 表名 set 列名=新值 where 列名=某值  【对表中所有满足条件的行进行的修改】
 
    60 delete 语句: 删除表中的行 语法格式: delete from 表名 where 列名=值
                                              delete from 表名  删除所有行
                                              delete * from 表名 删除所有行
 
 
 
 
                                高级部分
 
一、基本语句
 
    1) TOP 子句: TOP 子句用于规定要返回的记录的数目,该语句不是所有数据库都支持,不同数据库有不同的语法,
                                    MySql中语法:  SELECT column_name(s) FROM table_name LIMIT number    此语句按表中顺序,从开始查询number个行数据
 
    2) like操作符: like操作符用于在where 语句中搜索列中指定的模式
                                    语法格式: select 列名 from 表名 where 列名 like 模式
 
    3) 通配符: 在数据库操作中,可以用通配符代替字符,SQL中的通配符必须和like运算符在一起使用,常见的通配符及其作用如下:
                                    %  代替一个或者多个字母
                                    _  仅替代一个字符
                                    [charlist] 字符列中的任何单一字符                                 
                                    [^charlist] 不在字符列中的任何单一字符
                                    [!charlist] 不在字符列中的任何单一字符
 
    4) in 操作符: in 操作符允许我们在where语句中规定多个值
                                   语法格式: select 列名 from 表名 where in(value1, value2...)
 
    5) between 操作符: 用于在两个值得范围之间选取数据,between后面的值可以是文本,数字和日期
                          语法格式: select 列名 from 表名 where 列名 between 值1 and 值2
                                      select 列名 from 表名 where 列名 not between 值1 and 值2 表示选取规定范围之外的值
 
    6) Alias 别名:使用此语句为列名指定别名
                                    表的Alias语法: SELECT column_name(s) FROM table_name AS alias_name
                                    列的Alias语法: SELECT column_name AS alias_name FROM table_name
 
    7) join 语句
 
    8) inner join 语句
    9) left join 语句
    10) right join 语句
    11) full join 语句
 
    12) unionunion all语句   union 语句用来合并两个或者多个select 语句的结果集,使用union语句必须保证每条select语句都有相同的列,
                               并且相同的列有相似的数据类型;union all语句和union语句一样,二者区别在于union all语句会显示所有的数据,
                               union语句对于重复数据只显示一个
    13) select into语句                         
 
    14) create database 数据库名   用于创建数据库
 
    15) create table 语句用于创建数据库中的表  语法格式: CREATE TABLE 表名称(
                                                          列名称1 数据类型,
                                                          列名称2 数据类型,
                                                          列名称3 数据类型,
                                                           ......                                              
                                                             )
    16) create index创建索引                                                        
 
    17) drop 撤销语句
 
    18) alter 用于在已有的表中添加,删除或修改列
                         在表中添加列 alter table 表名 add 列名 数据类型
                         删除表中的列 alter table 表名 drop column 列名
                         修改列中的数据类型 alter table 表名 alter column 列名 数据类型                      
 
    19) auto_increment字段 在新纪录插入表中时生成一个唯一的数字
 
    20) 创建视图view
 
    21) null值    is null   is not null 常用作条件来查找数据
    22) group by 语句 常用于对合计函数统计后的数据排列,合计函数统计的结果是group by后面的列为集合单位的
                           例如, select name,sum(number) from a group by name  name对应下的同名的值相加分别显示
 
    23) having 使用having的原因是where语句不能和合计函数一起使用,是一种条件过滤语句
 
 
 
二、SQL约束(Constrains)
 
   1) not null 强制列不接受空值
 
   2) unique 约束唯一标识数据库表中的每条记录,primary keyunique都为数据库表的列或者列集合提供了唯一性的保证,
             primary key拥有自定义的unique,注意每个表可以有多个unique,但是只能有一个primary key   ;
             不同的数据库有不同的语法格式, MySql中如下:
                                                             CREATE TABLE Persons
                                                             (
                                                             Id_P int NOT NULL,
                                                             LastName varchar(255) NOT NULL,
                                                             FirstName varchar(255),
                                                             FirstName varchar(255),
                                                             UNIQUE (Id_P)
                                                             )
             如果需要给unique命名以及为多列命名,可以: CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
             如果表已经创建好,需要追加unique约束,可以: alter table 表名 add unique(列名) [一次只能约束一个列]
                                                             alter table 表名 add constrain unique约束的名称 unique(列1,列2...)
             如果需要撤销约束,可以: alter table 表名 drop index unique约束的名称    
 
    3) primary key约束   约束唯一标识数据库表中的每条记录,主键必须包含唯一的值,每一个表应该有一个主键并且只有一个主键,主键值不能为null
                         主键约束和unique约束的用法一样,格式一样,可以追加,撤销主键,还可以为多个列设置主键
 
    4) foreign Key外键约束 ; 一个表中的外键foreign指向另一个表的主键primary key
                              外键约束的作用: 一、 该约束用于预防破坏表之间连接的动作
                                                二、 该约束也可以预防非法数据插入到外键列,因为它必须指向另外一个表的值之一                           
 
                              如果需要命名外键并且为多个列创建外键,可以: constrain 外键名 foreign key(值1,值2,……) references 表名(列名)
                              还可以撤销外键 alter table 表名 drop foreign key 外键名
                              还可以增加外键 alter table 表名 add foreign key(列) references 表名称(列)
 
    5) check约束 用于约束列的取值范围
    6) default约束   
 
 
 
 
 
                                               函数
 
 
一、函数分类
        函数基本类型: Aggregate 函数(合计函数)[操作面向一系列的值并返回一个值]
                        Scalar 函数[操作面向一个单一的值,返回基于输入值得单一的值]
 
 
二、函数详解
        1)avg() 返回平均值  语法格式: select avg(列名) from 表名称
        2)count() 返回匹配指定条件的函数 语法格式: select count(列名) from 表名称
                                                         SELECT COUNT(DISTINCT column_name) FROM table_name 返回指定列不同值得数目
          max() min() sum()    
        3) ucase() 把字段值改为大写
           lcase() 把字段值改为小写
        4) mid() 从文本字段中提取字符
                                          SELECT MID(column_name,start[,length]) FROM table_name
                                               参数     描述
                                             column_name 必需。要提取字符的字段。
                                             start       必需。规定开始位置(起始值是 1)。
                                             length      可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。
 
                                             如: SELECT MID(City,1,3) as SmallCity FROM Persons
 
        5) len() 返回文本字段的长度   SELECT ROUND(column_name,decimals) FROM table_name
                                         参数       描述   
                                         column_name 必需。要舍入的字段。
                                         decimals    必需。规定要返回的小数位数。                                         
 
        6) now() 返回当前时间
        7) format() 用于对字段的显示格式化
                                           SELECT FORMAT(column_name,format) FROM table_name
                                           参数            描述
                                           column_name      必需。要格式化的字段。
                                           format           必需。规定格式。
 
</code>

作者:不详 来源:网络
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 青春网络编程技术(www.qcfupo.com) © 2020 版权所有 All Rights Reserved.
  • Powered by qcfupo! V3.0sp1
  • 百度友情链接: 百家乐[www.chinawestnews.net/aomenbaijiale/] 赌博网[www.chinawestnews.net/amdbwz/] 海立方[www.bjl.gov.cn/bjgylc/] 娱乐城[www.gtxrmzf.gov.cn/mapai/] 娱乐城[www.hfsf.gov.cn/yfgj/] 威尼斯人[www.hllinkou.gov.cn/baijile/] 澳门威尼斯[www.jjwgj.gov.cn/wnsr/] 888真人[www.lagm.gov.cn/888zhenren/] 百乐坊[www.laoling.gov.cn/blfylc/] 现金网[www.longyu.gov.cn/xjw/] 百家乐[www.chinawestnews.net/ambjl/] 新葡京娱乐场[www.sjzedu.gov.cn/jsylc/] 时时彩[www.snjw.gov.cn/ssc/] 赌博[www.chinawestnews.net/aomendubo/]