SQL语言基础入门总结




                            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语句讲解

    1select 语句: select * from 表名; 
                     select 列名 from 表名; 
                     select distinct 列名 from 表名;  

                       select distinct1,列2 from 表名    筛选列1和列2值都一样的行,只显示一个




    2where 语句: 用于规定选择标准   select 列名 from 表名 where 列名 值(表达式)
                    where语句中常用的表达式:
                                     = 等于
                                     <> 不等于
                                     > 大于
                                     < 小于
                                     >= 不小于
                                     <= 不等于
                                     between 在某个范围内
                                     like 搜索某种模式
                                     and 用于基于一个条件以上对记录的连接
                                     or 运算符用于基于一个以上的条件对记录进行过滤

    3order by 语句: 用于对结果集排序
                   order by 语句用于对列的排列,默认是按升序排序的,可以使用desc关键字按降序排序。order by 后面可以跟多个列,排序优先顺序是
                   先按order by后面的第一个列排序,再排下一个,以此类推……

    4insert into 语句: 语句用于向表格中插入新的行   insert into 表名 values(值1,值2,……) 
                                                           insert into 表名 (列1,列2,……) values (值1,值2,……)

    5update 语句: 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个行数据

    2like操作符: like操作符用于在where 语句中搜索列中指定的模式 
                                    语法格式: select 列名 from 表名 where 列名 like 模式

    3) 通配符: 在数据库操作中,可以用通配符代替字符,SQL中的通配符必须和like运算符在一起使用,常见的通配符及其作用如下:
                                    %  代替一个或者多个字母
                                    _  仅替代一个字符
                                    [charlist] 字符列中的任何单一字符                                  
                                    [^charlist] 不在字符列中的任何单一字符
                                    [!charlist] 不在字符列中的任何单一字符

    4in 操作符: in 操作符允许我们在where语句中规定多个值
                                   语法格式: select 列名 from 表名 where in(value1, value2...)

    5) between 操作符: 用于在两个值得范围之间选取数据,between后面的值可以是文本,数字和日期
                          语法格式: select 列名 from 表名 where 列名 between 值1 and2
                                      select 列名 from 表名 where 列名 not between 值1 and2 表示选取规定范围之外的值

    6) Alias 别名:使用此语句为列名指定别名
                                    表的Alias语法: SELECT column_name(s) FROM table_name AS alias_name
                                    列的Alias语法: SELECT column_name AS alias_name FROM table_name

    7join 语句

    8inner join 语句
    9left join 语句
    10) right join 语句
    11) full join 语句

    12) unionunion all语句   union 语句用来合并两个或者多个select 语句的结果集,使用union语句必须保证每条select语句都有相同的列,
                               并且相同的列有相似的数据类型;union all语句和union语句一样,二者区别在于union all语句会显示所有的数据,
                               union语句对于重复数据只显示一个
    13select into语句                          

    14create database 数据库名   用于创建数据库

    15create table 语句用于创建数据库中的表  语法格式: CREATE TABLE 表名称(
                                                          列名称1 数据类型,
                                                          列名称2 数据类型,
                                                          列名称3 数据类型,
                                                           ......                                               
                                                             )
    16) create index创建索引                                                         

    17drop 撤销语句

    18alter 用于在已有的表中添加,删除或修改列
                         在表中添加列 alter table 表名 add 列名 数据类型
                         删除表中的列 alter table 表名 drop column 列名
                         修改列中的数据类型 alter table 表名 alter column 列名 数据类型                       

    19) auto_increment字段 在新纪录插入表中时生成一个唯一的数字

    20) 创建视图view

    21nullis null   is not null 常用作条件来查找数据
    22) group by 语句 常用于对合计函数统计后的数据排列,合计函数统计的结果是group by后面的列为集合单位的
                           例如, select name,sum(number) from a group by name  把name对应下的同名的值相加分别显示

    23having 使用having的原因是where语句不能和合计函数一起使用,是一种条件过滤语句



二、SQL约束(Constrains) 

   1) not null 强制列不接受空值

   2unique 约束唯一标识数据库表中的每条记录,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约束的名称     

    3primary key约束   约束唯一标识数据库表中的每条记录,主键必须包含唯一的值,每一个表应该有一个主键并且只有一个主键,主键值不能为null
                         主键约束和unique约束的用法一样,格式一样,可以追加,撤销主键,还可以为多个列设置主键

    4foreign Key外键约束 ; 一个表中的外键foreign指向另一个表的主键primary key 
                              外键约束的作用: 一、 该约束用于预防破坏表之间连接的动作
                                                二、 该约束也可以预防非法数据插入到外键列,因为它必须指向另外一个表的值之一                            

                              如果需要命名外键并且为多个列创建外键,可以: constrain 外键名 foreign key(值1,值2,……) references 表名(列名)
                              还可以撤销外键 alter table 表名 drop foreign key 外键名
                              还可以增加外键 alter table 表名 add foreign key(列) references 表名称(列)

    5check约束 用于约束列的取值范围
    6default约束    





                                               函数


一、函数分类
        函数基本类型: Aggregate 函数(合计函数)[操作面向一系列的值并返回一个值]
                        Scalar 函数[操作面向一个单一的值,返回基于输入值得单一的值]


二、函数详解
        1avg() 返回平均值  语法格式: select avg(列名) from 表名称
        2count() 返回匹配指定条件的函数 语法格式: 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           必需。规定格式。 





























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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值