数据库的增删改查

本文详细介绍了数据库的作用、设计规范、不同类型数据库的特性,并着重讲解了关系型数据库的增删改查操作,包括使用SQL进行查询、筛选、排序、聚合、分组、联查等。此外,还涵盖了事务处理、数据控制和表结构的管理,以及实用函数和操作技巧。
摘要由CSDN通过智能技术生成

数据库作用
    持久化存储
    优化读取
    保证数据的有效性

数据库设计
    三范式(Normal Form)
        第一范式
            强调列的原子性
                表示列不可以再拆分
        第二范式
            一张表必须要有一个主键
                一般用的是id ,数字,用来标注物理上的唯一性,方便查找

分类
    非关系型数据库
        redis
        mongodb
    关系型数据库
        oracle
            一般是在大型项目中用的多,银行或者电信等
        mysql
            web时代使用最广泛的关系型数据库
        ms sql server
            微软的项目中用的
        sqlite
            轻量型数据库,一般用在移动平台

RDBMS
    关系型数据库
    结构化查询语言
特点
    1.不区分大小写
    2.以;进行结尾

select
    查看表所有的数据
        select    *   from  表名;
            * 代表的是通配符,代表查询当前表中,所有的字段
    查看指定的字段
        select  字段名1,字段名2,........  from 表名;
    条件
        格式
            select   * from 表名  where  条件语句
        运算符
            比较运算符
                =
                >
                <
                >=
                <=
                !=
                    <>
            逻辑运算符
                and
                    表示条件同时成立
                or
                    表示条件成立一个即可
                not 
                    与。。。相反
            模糊查找
                关键字
                    like
                符号
                    %
                        任意多个字符
                    _
                        表示任意一个字符
        范围查找
            连续范围
                between .....  and .....
            不连续范围
                in(值1,值2,值3,值4......)
        判断空值
            空值
                is null
            非空
                is  not  null
    排序
        格式
            select   * from 表名  where 筛选条件 order  by 字段  asc[desc];
        注意点
            asc
                升序
            desc
                降序
            放在整个语句的最后面
            by  字段  排序方式
    聚合函数
        sum
            对指定的字段求和
        count()
            统计个数
            count(*/字段)
            求字段的平均值
        avg
        max
            寻找字段的最大值
        min
            寻找字段的最小值
    分组
        group  by 
            格式
                select   分组依据,group_concat(需要展示的字段) from 表名  group  by  分组依据

            作用:
                将查询结果,按照一个字段或者多个字段进行分子,字段值相同的是一组
            筛选
                能在原始表筛选的,用 where
                不能原始表,在分组之后筛选的,用having
    多表联查
        两表联查
            select   *  from 
表1  inner join 表2
on  连接条件
    子查询
        在一个select语句中,嵌套了另外一个select语句
        分类
            列子查询
                一列多行
            行子查询
                一行多列
            表子查询
                多行多列
            标量子查询
                子查询返回的数据是一行一列

起别名
    as  表名/字段名
    注意点
        1.as可以省略
案例:
    查看前端班的学生
        select   * from web;

DML
    数据操作语言
    对数据进行管理(增删改)
        insert 
            单行插入
                全列插入
                    insert  into  表名   values(全部的字段对应的数据)
                    注意点:
                        不允许打乱顺序
                部分列插入
                    insert  into  表名(字段1,字段2.....)  values(字段1对应的数值,字段2对应的数值);  
                    注意点
                        1.值的顺序必须对应字段的顺序
                        2.字段的顺序可以打乱
                        3.没有插入数据的字段要允许空值
            多行插入
                全列插入
                    insert  into  表名  values(字段值1,字段值2,字段值3.....),
(字段值1,字段值2,字段值3.....),
(字段值1,字段值2,字段值3.....),
(字段值1,字段值2,字段值3.....)
.........
;
                部分列插入
                    insert into 表名(字段1,字段2。。。。)  value
(字段值1,字段值2.......),
(字段值1,字段值2.......),
(字段值1,字段值2.......),
.......
;
        update
            格式
                update  表名  set  字段1=值,字段2=值, ......
                    修改表中所有的目标字段的值
                update  表名   set 字段1=值,字段2=值, ...... where  条件筛选
                    修改的是表中符合条件的数据的值
                    多个条件的筛选问题
                        and
                        or
        delete
            硬删除
                直接从数据库中删除
                    格式
                        delete  from 表名  where  条件筛选
            软删除
                不从数据库中删除,只是逻辑删除
        truncate
            TRUNCATE TABLE 表名
            清空表

TPL
    事务处理语言
    主要是对事务进行处理
        transaction
        commit
        rollback
DCL
    数据控制语言
    进行授权和权限回收

进行数据库和表的管理
    数据库
        drop
            drop  database IF EXISTS  数据库名;
            注意点
                1.不能删除不存在的数据库
        create
            create database   IF NOT EXISTS 数据库名  charset=utf8;
            注意点
                1.数据库不能创建同名的
                2.为了兼容中文,设置编码方式
格式
    create table  表名 (
    主键名  数据类型   约束,
    字段1   数据类型   约束,
    字段2   数据类型 ,   
    字段3   数据类型   约束
)
数据类型
    字符串
        
    数字
        

数据表
    约束
        PRIMARY KEY 
            主键
            主键字段配合auto_increment使用的时候,是自增字段
                可以采取默认填充的方式
                    0
                    null
                    default
        not null
            非空
        UNIQUE
            表示字段不允许重复
    数据库表操作
        修改字段的名字以及数据类型和约束
            alter  table 表名   旧字段   新字段  数据类型和约束;
        增加一个新的字段
            alter   table   表名   add  字段名    数据类型   约束;
        修改字段的数据类型和约束
            alter   table  表名  modify  字段名   数据类型   约束;
        删除字段
            alter  table   表名  drop  字段
        查看表的结构
            desc  表名
注意点:数据库中选小不选大

案例
    查看所有的数据库
        show databases;
CCL
    指针控制语言
    通过控制指针完成表的操作
内置的方法
    concate
        格式
            concat(字段1,字段2,字段.....)
        作用
            将多个字段连接成一个完整的字符串
    IFNULL(表达1,表达2)
        判断空值,如果表达式1的结果是空值,则返回表达式2的结果,如果不是空值,则返回自己
        案例
            ifnull(1,"非空值")
                1
            ifnull(null,"是空值")
                "是空值"
    SUBSTR(字符串,截取位置,截取的个数)
        作用:用来截取字符串的方法 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值