• 【2020Python修炼记】初识数据库——MySQL


    【目录】

    一 数据库管理软件的由来

    二 数据库概述

    三 mysql介绍

    四 下载安装

    五 mysql软件基本管理

    六 初识sql语句

    一、数据库管理软件的由来

    # 我们在编写任何程序之前,都需要事先写好基于网络操作一台主机上文件的程序(socket服务端与客户端程序),

    于是有人将此类程序写成一个专门的处理软件,这就是mysql等数据库管理软件的由来,

    但mysql解决的不仅仅是数据共享的问题,还有查询效率数据安全性等一系列问题,

    总之,把程序员从数据管理中解脱出来,专注于自己的程序逻辑的编写。

    二、数据库概述

    1、什么是数据(Data) 

    描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可为文字、图片,图像、声音、语言等,数据由多种表现形式,

    它们都可以经过数字化后存入计算机  在计算机中描述一个事物,就需要抽取这一事物的典型特征,组成一条记录,就相当于文件里的一行内容

    2、什么是数据库(DataBase,简称DB)

    数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的 

    过去人们将数据存放在文件柜里,现在数据量庞大,已经不再适用 

    数据库是长期存放在计算机内、有组织、可共享的数据即可。 

    数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种 用户共享

    3、什么是数据库管理系统(DataBase Management System 简称DBMS) 

    # 在了解了Data与DB的概念后,如何科学地组织和存储数据,如何高效获取和维护数据成了关键 

    这就用到了一个系统软件---数据库管理系统  如 MySQL、Oracle、SQLite、Access、MS SQL Server

    # 数据库管理软件分类

    ## 分两大类:   

    关系型:如sqllitedb2oracleaccesssql serverMySQL

    注意:sql语句通用   

    非关系型:mongodbredismemcache

    ## 可以简单的理解为:

    关系型数据库需要有表结构

    非关系型数据库是key-value存储的,没有表结构

    4、 数据库服务器、数据管理系统、数据库、表与记录的关系

    数据库服务器-:运行数据库管理软件

    数据库管理软件:管理-数据库

    数据库:即文件夹,用来组织文件/表

    表:即文件,用来存放多行内容/多条记录

    三、mysql介绍、下载、安装

    安装教程:https://www.cnblogs.com/bigorangecc/p/12807816.html

    五、mysql软件基本管理

    https://www.cnblogs.com/bigorangecc/p/12828442.html

    六、初识SQL语句

    SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。SQL语言分为3种类型:
    
    #1、DDL语句    数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
    #2、DML语句    数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT
    #3、DCL语句    数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
    #1. 操作文件夹
            增:create database db1 charset utf8;
            查:show databases;
            改:alter database db1 charset latin1;
            删除: drop database db1;
    
    
    #2. 操作文件
        先切换到文件夹下:use db1
            增:create table t1(id int,name char);
            查:show tables
            改:alter table t1 modify name char(3);
                  alter table t1 change name name1 char(2);
            删:drop table t1;
    
    
    #3. 操作文件中的内容/记录
            增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3');
            查:select * from t1;
            改:update t1 set name='sb' where id=2;
            删:delete from t1 where id=1;
    
            清空表:
                delete from t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。
                truncate table t1;数据量大,删除速度比上一条快,且直接从零开始,
    
                auto_increment 表示:自增
                primary key 表示:约束(不能重复且不能为空);加速查找
    SQL语言分类

    针对库的增删改查(文件夹)

    #
    create database db1;
    create database db2 charset='gbk';
    #
    show databases;  # 查所有
    show create database db1;  # 查单个
    #
    alter database db2 charset='utf8';
    #
    drop database db2;

    针对表的增删改查(文件)

    """
    在操作表(文件)的时候 需要指定所在的库(文件夹)
    """
    # 查看当前所在的库的名字
    select database();
    # 切换库
    use db1; 
    
    #
    create table t1(id int,name char(4));
    #
    show tables;  # 查看当前库下面所有的表名
    show create table t1;
    describe t1;  # 支持简写 desc t1;
    #
    alter table t1 modify name char(16);
    #
    drop table t1;
    
    """
    create table db2.t1(id int);  也可以用绝对路径的形式操作不同的库
    """

    针对数据的增删改查(一行行数据)

    """
    一定要先有库 有表 最后才能操作记录
    """
    #
    insert into t1 values(1,'jason');
    insert into t1 values(1,'jason'),(2,'egon'),(3,'tank');
    #
    select * from t1;  # 该命令当数据量特别大的时候不建议使用
    select name from t1;
    #
    update t1 set name='DSB' where id > 1;
    #
    delete from t1 where id > 1;
    delete from t1 where name='jason';
    # 将表所有的数据清空
    delete from t1;

    参考资料:

    https://zhuanlan.zhihu.com/p/112222578 

  • 相关阅读:
    P1456 Monkey King
    P3377 【模板】左偏树(可并堆)
    P1074 靶形数独
    P1120 小木棍
    P5490 【模板】扫描线
    糖糖别胡说,我真的不是签到题目
    最长公共子序列
    最长上升子序列
    数的三次方根
    地、颜色、魔法(dfs)
  • 原文地址:https://www.cnblogs.com/bigorangecc/p/12807794.html
Copyright © 2020-2023  润新知