SQL——结构化查询语言

1. SQL特点
    SQL语言不区分大小写;

2.SQL分类
    DDL:操作数据库,表
        对数据库进行操作
            show databases;  查询拥有的全部数据库
            create database 数据库名; 创建数据库
            drop database 数据库名; 删除数据库
            use  数据库名;所有数据库
            select database(); 查询当前使用的数据库
        对表进行操作
            创建Create
                create table 表名(字段名 数据类型);
            查询Retrieve
                show tables ;查询某一个数据库中所有的表
                desc 表名;查询表的表结构
            修改Update
                修改表名:alter table 表名 rename to 新表名;
                添加新的列:alter table 表名 add 列名 数据类型;
                修改数据类型:alter table 表名 modify 列名 新数据类型;
                修改列名和数据类型:alter table 表名 change 列名  新列名 新数据类型;
                删除列:alter table 表名 drop 列名
            删除Delete
                drop table 表名;删除表
    DML:对表中数据进行增删改
        添加 insert
            insert into 表名(列名)values();
        修改 update
            update 表名 set  类名 ='值' [where 条件];
        删除
            delete from 表名 [where 条件];
    DQL:对表中数据进行查询
        查询select
            select * from 表名;
            select 列名... from 表名 [where 条件];

3.查询分类
    基础查询
        distinct :去除重复项
        as 起别名
    条件查询 where
        > 
        <
        =
        !=   <>
        >=
        <=
        and   &&
        or   ||
        between ....and...      select * from stu where age BETWEEN 20 and 30;
        in()   select * from stu where age in (18,20 ,22);
        like 模糊查询      _单个任意字符    %多个任意字符
    分组查询 group by      分组后条件   having   分组前条件 where
        聚合函数
            语法: select 聚合函数 (列名)from 表
                count  统计数量
                max
                min
                sum
                avg
            执行顺序:where >聚合函数 >having
    排序查询 order by
        asc 升序
        desc 降序
    分页查询 limit
        基本语法: select 字段列表 from 表名  limit 起始索引,查询条目数
            起始索引 = (当前页码-1)* 每页显示的条数
4.DCL:对数据库进行权限控制
    约束 :作用在表中列的规则
        约束分类:
            非空约束    not null
            唯一约束    unique
            主键约束    primary key
            检查约束    check   保证列中的值满足某一条件
            默认约束    default
            外键约束    foreign key  让两个表的数据进行链接
                添加约束
                    创建的时候添加外键约束
                    建完表添加外键约束 
                        alter table 表名 add constraint  外键名称 foreign key (外键字段名称)  references 主表   (主表列名)
                删除约束
                    alter table 表名 drop foreign key  外键名称
                数据库设计
                    数据库设计步骤
                        需求分析
                        逻辑分析
                        物理设计
                        维护设计
                    表关系
                        一对一
                        一对多
                        多对多

 5. 多表查询
                    内连接
                        隐式内连接
                            select * from student ,class where student.class_id = class.id;
                        显示内连接
                            select * from student inner join class on  student.class_id = class.id;
                    外连接
                        左外连接
                            select  字段列表    from  表1   left    join   表2  on  条件;
                        右外连接
                            select  字段列表    from  表1   right   join   表2  on  条件;
                    子查询
                        单行单列:作为条件值,使用 = != > <
                            select 字段列表  from 表 where 字段名 =(子查询)
                        多行单列 : 作为条件值,使用in等关键字进行条件判断
                            select 字段列表 from 表 where 字段名 in (子查询)
                        多行多列:作为虚拟表
                            select 字段表 from (子查询) where 条件;
 6. 事务    
                    事务的四大特征
                        A(Atomicity)
                            原子性:事务是不可分割的最小操作单位,要么同时成功,要么同时失败
                        C(Consistency)
                            一致性:事务完成时,必须使得=所有的数据都保存一致状态
                        I(Isolation)
                            隔离性:多个事务之间,操作的可见性
                        D(Durability)
                            持久层:事务一旦提交或回滚,它对数据库中的数据的改变就是永久的
                事务的隔离级别
                    Read uncommitted  
                        读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。
                    Read committed
                        读提交,顾名思义,就是一个事务要等另一个事务提交后才能读取数据。
                    Repeatable read
                        重复读,就是在开始读取数据(事务开启)时,不再允许修改操作
                    Serializable 序列化
                        Serializable 是最高的事务隔离级别,在该级别下,事务串行化顺序执行,可以避免脏读、不可重复读与幻读。但是这种事务隔离级别效率低下,比较耗数据库性能,一般不使用。

7.sql书写技巧
    sql关键字的书写顺序
        select from where group by having order by limit
    sql关键字执行顺序
        from where group by having select order by limit
 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值