Python进阶-数据库(MySQL)介绍与基本操作

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

  数据库的产生是为了解决数据的永久储存、数据安全、以及对方对外服务时能够实现并发服务等效果。例如解决前面所学的Scoket编程中,在不考虑硬件问题的基础上,服务端服务多个客户端时:

  1)如何解决数据的安全问题,加锁处理;

  2)实现并发效果。

  面对以上问题,我们的解决办法是在服务端开启多进程或者多线程的方式实现并发,依靠队列等实现数据的安全问题,但是使得开发过程过于复杂以及效率极低。于是就有了一批开发人员站出来开发了这种专门用于处理数据的软件,也就是数据库管理软件。最终,对于大多数开发人员都得以从处理数据中解脱,从而专注于程序的逻辑开发中。

二、数据库概述

1.什么是数据

  前面编写的用户注册功能中经常会把用户的个人信息以某种形式保存于文本中,例如:

mdzz,18,male

个人信息中描述了人基本信息、特征等,这就是数据。

2.数据库(DataBase,简称DB)

  库即仓库,库中定义了一系列的数据模型组织、描述数据的标准、以及存储方式,所以数据库就是按照约定俗成的标准进行存放数据的仓库,它具有较小的冗余度、较高的数据独立性和扩展性并可实现数据共享。

3.数据库管理系统(DataBase Management Sysyen简称DBMS)

  简单的说就是前面提到的,专门用于处理数据的软件。数据库管理分为两大类:

  1)关系型数据库

  由表结构,存储数据前必先定义表结构,存储的数据必须按照字段的类型或者约束来
  典型代表:MySQL、Oracle、DB2、SQL Server

  2)非关系型数据库

  存储数据都是采用key:value形式

  典型代表:mongoDB、redis、memcache

数据库服务器、数据库管理系统、数据库、表、记录之间的关系如下结构:
- | |---数据库服务器(本质就是一台计算机,该计算机上安装有数据管理软件的服务端) |---数据库管理系统RDBMS(本质就是一个C/S架构的套接字软件) |---库(文件夹) |---表(文件) |---记录:抽取一个事物所有典型的特征/数据 |---数据

三、MySQL

  由瑞典MySQL AB 公司开发,属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

  MySQL实质就是一个基于Socket编写的C/S架构软件,自带mysql、mysqldump等命令。

1.windows平台下,下载安装

  略

2.MySQL配置

  1)设置环境变量

  我的电脑--->右键点击属性--->高级系统设置--->环境变量--->系统变量

  2)配置统一字符编码

  数据库安装的根目录下,创建文件‘my.ini’,文件内添加如下内容:

  注意:

    配置文件中,注释可以出现中文,但配置不可出现中文 

 四、MySQL数据库的基本操作

  对数据库的操作需要安装对应的服务器端软件,或者通过其它模块连接mysqld,然后使用MySQL内置的语法格式进行命令提交和操作数据,该语法称为SQL语句(Structured Query Language,结构化查询语句)。

数据库操作
    1)文件夹(库)
    增
        create database db1 charset utf8;
    改
        alter database db1 charset gbk;
    删
        drop database db1;
    查
        查看全部库名:
            show databases;
        查看指定库信息:
            show create database db1;
    2)文件(表)
    首先先切换到文件夹:
        use db1;
        查看当前所在的文件夹:
            select database();
    增
        create table t1(id int,name char,age int);
    查
        查看文件夹下的所有的表:
            show tables;
        查看指定表:
            show create table t1;
        查看表结构:
            desc t1;或者describe t1;
    改
        alter table t1 modify name char(32);
    删
        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;   # 数据量大,删除速度比上一条快,且直接从零开始,
原文地址:https://www.cnblogs.com/mdzzbojo/p/9005119.html