MySQL 数据库

数据库(DataBase:DB):存储和管理数据的仓库
  • 数据库管理系统(Database Management System:DBMS):管理数据库的系统软件,对数据库提供数据的定义,建立,维护,查询和统计等操作;我们一般说的数据库就是指DBMS:数据库服务器
数据库发展历程:
1:层次数据库和网状数据库
    使用指针表示数据之间的联系
2:关系型数据库
    代表:Oracle ,DB2,MySQL,Server,HBase
3:后关系数据库
    :面相对象数据库    ORDBMS
    :非关系型数据库    NoSQL
SQL : 结构化查询语言(Structured Query Language)
  • 实际关系型数据库标准语言
数据查询语言DQL
  • 数据查询语言也称为”数据检索语言”,可以表中获取数据 ,关键字SELECT是SQl用的对多的动词,其他DQL的关键字还有 WHERE,ORDER BY,GROUP BY,HAVING
数据库操作语言DML
  • 其语句包括INSERT,UPDATE,DELETE,分别用于添加,修改,删除表中的行
数据库定义语言DDL
  • CREATE 和 DROP,用于在数据库中创建表(CREATE TABLE)和删除表(DROP TABLE),也是查询语言的一部分.
书写规则
1:在MySQL数据库中,SQL语句不区分大小写;
2: SQL语句可单行和多行书写 ;
3:在SQL语句中关键字不可以跨多行或者缩写;
4:为提高可读性,一般关键字大写,其他小写
5:空格和缩进使程序易读

登录数据库

  • 本机登录:mysql -uroot -p密码
  • 非本机登录: mysql -uroot -p密码 -h ip地址 -P端口

创建数据库

  • 创建数据库:create database 数据库名称
  • 进入数据库:use 数据库名称

备份数据库

  • 导出: mysqldump -uroot -p密码 数据库名称 >导出路径
  • 导入: mysqldump -uroot -p密码 数据库名称 >导入路径

DQL操作

  • 简单查询

    简单数据的查询   SLECT * FROM table_name
    消除重复  SELECT DISINCT 列名 FROM table_name
    实现数学运算的查询 
             NUMBER使用 +-*/
             DATE使用+-
    设置列的别名 AS
    
  • 过滤查询

    逻辑运算符 ,优先级规则
         AND(&&) OR(||) NOT(!)
         优先级ADN>OR>NOT  
    范围查询
        IN 判断集合
        IS NULL  判断列是否为空
        LIKE  通配符
            % 表示一个或者是多个字符
            _表示一个字符
    
  • 结果排序

    排序   ORDER BY
         ASC 升序,默认
         DESC 降序
    
  • 分页查询

    LIMIT (N-1)*3,3
           索引数从0开始,每页显示的条数
    
  • 多表查询

  • 笛卡尔积
        SELECT * FROM 表1 ,表2
        尽量避免笛卡尔积
    
    内链接查询
        隐式内连接:SELECT * FROM 表1 ,表2 WHERE 等值条件  
        显示内连接:SELECT * FROM 表1 JOIN 表2 ON 等值条件
    自连接查询
    

DML操作

  • 插入数据

    INSERT INTO table_name (列名) VALUES (列值) 数据一一对应
    
  • 更新数据

    UPDATE table_name SET 列名=列值... 
    如果没有WHERE 则全表的数据都会被修改,注意没有FROM
    
  • 删除数据

    DELETE FROM table_name 
    如果不加WHERE则全表的数据都会被修改
    

MySQL查询函数

  • 单行函数

    字符函数 
        CONCAT 拼接字符串,当出现null时,返回null
        CHAR_LENGTH 字符串长度 
        LENGTH  字符串长度,单位为字节
    数字函数
        ABS 绝对值
        MOD 两数相除取余
    日期函数
        CURRENT_DATE 当前日期
        CURRENT_TIME 当前时间
        LAST_DAY  最后一天
    
  • 多行函数

    分组函数: 
        AVG/SUM 平均值/总和
        MIN/MAX 最大值/最小值
        COUNT   总数
    
    分组语句:
         GROUP BY 数据分组,
         HAVING  限制语句 ,不能与WHERE同时出现
    

MySQL的对象操作

  • 添加字段:ALTER TABLE table_name ADD (列名 类型)
    修改字段:ALTER TABLE table_name MODIFY 列名 类型,当字段只包含空值时,类型和大小都可以修改,
    删除字段:ALTER TABLE table_name DROP 列名 
    删除表: DROP table_name 删除表但是不释放所占空间
    
  • 视图

    创建视图:CREATE VIEW 将查表的结果返回给视图
    删除视图:DROP VIEW viewName
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值