【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 

原文地址:https://www.cnblogs.com/bigorangecc/p/12807794.html