MySQL学习小结

MySQL学习小结

一、数据库:存储、维护和管理数据的集合。
    DB、DBMS
    
二、SQL:结构化查询语言
    SQL的分类
        (1) DDL:数据定义语言,定义数据库对象,对对象进行操作的。
            create    alter    drop
        (2) DML:数据管理语言,对数据库表中的数据进行操作的。
            insert    update   delete
        (3) DQL:数据查询语言,对数据进行查询的。
            select
        (4) DCL:数据控制语言,对数据进行权限访问和安全级别的控制。
            grant(授权)    revoke(收回)
        
    示例:
    DDL:
        create database mydb1;
        use mydb1;
        
        create table student (
            sid int primary key auto_increment,
            sname varchar(50) not null unique,
            sex varchar(10) default '男'
        );
        
        alter table student add birthday date;
        alter table student drop birthday;
        alter table student add grade double(3, 1);
        alter table student modify sex varchar(20);
        alter table student change sname stuname varchar(50);
        
    DML:
        insert into student (sname, sex, grade) values ('tom', default, 98);
        insert into student (sname, sex, grade) values ('lucy', '女', 95);
        insert into student (sname, sex, grade) values ('bruce', '女', 59);
        
        update student set sex = default, grade = 99 where sid = 3; -- 或者
        update student set sex = default, grade = 99 where sname = 'bruce';
        
        
        delete from student where sid = 1;
        delete from student;
        truncate table student;
    
    DQL:
        -- 查询分数与tom分数一样的学生信息
        select * from student where grade = (
        select grade from student where sname = 'tom');
        
        select xxx from xxx where xxx group by xxx having xxx order by xxx limit; -- 书写顺序
        from xxx where xxx group by xxx having xxx select xxx order by xxx limit; -- 执行顺序
        
        where xxx like / between and / in / not in / is null / is not null / and / or / not /
        
        sum() avg() max() min() count() 
        
        ifnull(comm, 0)

三、数据完整性
        实体完整性:行级约束。
        primary key    
        unique    
        auto_increment
        域完整性:列级约束。
        数据类型    
        not null    
        default       
        check()
        引用完整性:参照/关联完整性。
        foreign key    
        
        表与表之间的关系:
            一对多/多对一
            多对多
            一对一
            
四、多表查询
    合并查询:union    union all
    连接查询:
        内连接查询:[inner] join xxx on xxx
        外连接查询:[outer] join xxx on xxx
                        left join xxx on xxx
                        right join xxx on xxx
        自然连接查询:natural join
                        natural left join
                        natural right join
    子查询:
    自连接查询:
    
五、MySQL中的函数
    时间、日期相关函数
    字符串相关函数
    数学相关函数
    
六、MySQL数据库的备份与恢复
    生成SQL脚本 导出数据
    执行SQL脚本 恢复数据

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

MySQL创建表失败的问题

今天有一个朋友问我一个MySQL的建表问题,问题的现象是创建表失败,根据他的反馈,问题比较奇怪, CREATE TABLE XXX ..此处省略260多个字...

45670
来自专栏坚毅的PHP

mysql DUPLICATE KEY UPDATE 问题

DUPLICATE KEY UPDATE batch执行时出死锁错误 背景知识 一、 mysql  insert 与 duplicate key: 典型的插入语...

53650
来自专栏JavaWeb

原 荐 MySQL-性能优化-索引和查询优化

23040
来自专栏北京马哥教育

优化临时表使用,SQL语句性能提升100倍

【问题现象】 线上mysql数据库爆出一个慢查询,DBA观察发现,查询时服务器IO飙升,IO占用率达到100%, 执行时间长达7s左右。 SQL语句如下: SE...

35480
来自专栏蓝天

Oracle 系统表大全

数据字典dict总是属于Oracle用户sys的。   1、用户:    select username from dba_users;   改口令    al...

11420
来自专栏高爽的专栏

MySQL从5.5升级到5.6,TIMESTAMP的变化

前言 前段时间,系统MySQL从5.5升级到了5.6,系统出现了大量的异常。大部分异常引起原因是由于TIMESTAMP的行为发生了变化。 TIMESTAMP在M...

26200
来自专栏用户2442861的专栏

关于sql中索引的优缺点(面试常考)

   原文       http://blog.csdn.net/dinglang_2009/article/details/5951428

27510
来自专栏数据和云

走在专家的路上,每天一条SQL优化(3)

小编寄语:本系列分享的SQL优化实例,并不一定适用于所有相似SQL或所有场景。我们只是介绍一种方法,当你再次遇到类似SQL,可以根据真实场景,选择最适合的方案。...

28370
来自专栏乐沙弥的世界

Oracle 用户、对象权限、系统权限

用户:对数据库的访问,需要以适当用户身份通过验证,并具有相关权限来完成一系列动作

20720
来自专栏Flutter&Dart

DartVM服务器开发(第二十五天)--使用SQl语句

首先,我们的数据库中的_chat表有一条数据,现在我们通过SQL语句对他进行删除

12510

扫码关注云+社区

领取腾讯云代金券