Python全栈 MySQL 数据库 (简述 、安装、基本命令)

ParisGabriel

每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰

  开局一张图

一个月的python已经结束了  下面就是数据库了   先说MySQL

这个数据库应该差不多是用户量最多的了

MySQL概述:
1.什么是数据库:
    存储数据的厂库
2.有哪些公司在用数据库
  金融机构、游戏网站、购物网站、论坛网站...
3.提供数据库服务的软件
    1.软件的分类:
      MySQL、Oracle、SQL_Server、DB2、MongoDB、MariaDB
    2.生产环境中,如何选择使用哪些数据库软件:
      1.是否开源
        1.开源软件:MySQL、Mariadb、MongoDB
        2.商业软件:Oracle、DB2、SQL_Server
      2.是否跨平台
        1.不过平台:SQL_Server
        2.跨平台:......
        3.公司的类型:
    商业软件:政府部门、金融机构
    开源软件:游戏网站、购物网站、论坛网址站

4.MySQL的特点:
  1.关系型数据库
    1.关系型数据库的特点
      1.数据是以行和列表格)的形式存储的
      2.表格到的每一行是一条记录 ,没一列叫一个字段
      3.表与表之间的逻辑关联叫关系
    2.示例:
      1.关系型数据库:
        表1 学生信息表
          姓名    年龄    班级
          张三    25       三班
          李四    25       六班
        表2 班级信息表
          班级     班主任
          三班     大空翼
          六班     松人
        寻找张三的班主任是谁
        通过两张表的关联关系查询出来(查询功能强大
    2.非关系型数据库
      {”姓名“:“张三”, ”年龄“:25, “班主任”}
      以字典的形式存储 键值对形式纯在的
     如果没有则则无法找到 (查询速度快
  2. 跨平台:
    可以在Windows、Unix、Linux、上运行数据库服务
  3. 支持多种编程语言
    Python、Java、PHP....

5.数据库软件数据库数据厂库概念
  1.数据库软件:
    就是一个软件看的见可操作、是现实数据的逻辑功能
  2.数据库:
    是一种逻辑概念,用来存放数据的厂库侧重于存储
  3.数据厂库
    从数据量来说,比数据库庞大的多,主要用于数据分析和数据挖掘
    那个时间段用户登录最多,那个用户一年购物最多

 MySQL的安装

1.Ubuntu安装MySQL服务

  1.安装服务端
    sudo apt-get install mysql-server
    apt-get系统自带到的安装服务

  2.安装客户端
    sudo apt-get install mysql-client

  3.Ubuntu安装软件:
    1.sudo apt-get update

      访问源列表中的每个网址,读取软件列表,保存到本地 /var/lib/apt/lists

    2.sudo apt-get upgrade      

      把本地已安装的软件与刚下的列表进行对比
      如果发现已安装的软件版本低    则全部更新

    3.sudo apt-get -f install
      修复依赖关系

    2.启动和链接MySQL服务
      1.服务端启动
        1.查看状态
          sudo /etc/init.d/mysql status (查询)
        2.启动
          sudo /etc/init.d/mysql start (启动)
          sudo /etc/init.d/mysql stop (停止)
          sudo /etc/init.d/mysql restart(重启)
          sudo /etc/init.d/mysql reload(重新加载配置文件)
      2.客户端链接
        1.命令格式
          mysql -h主机地址 -u用户名 -p密码
          mysql -hlocalhost -uroot -p123456
SQL命令的使用规则:
    1.没填命令必须 结尾
     2.SQL不区分大小写
    3.使用\c终止当前命令执行
2.库的管理:
1.库的基本操作
  1.查看已有的库
    show databases;
  2.创建库
    create database 库名;
    create database 库名 character set utf8;(字符编码)
  3.查看创建库的语句(字符集)
    show create database 库名;
  4.查看当前所在的库:
      select database():
  5.切换库
    use 库名;
  6.查看库中已有的表
    show tables;
  7.删除库
    drop database 库名;
  库名的命名规则:
    1.数字、字母、下划线,但是不能使用纯数字
    2.库的名字区分大小写
    3.不能使用特殊字符和MySQL关键字
    3. 表的管理
2.表的基本操作
  1.查看表
    show tables
  2.创建表
    create table 表名(
    字段名 数据类型,
    字段名 数据类型,
    .......
    );
  3.查看已有表的字符集
    show create table 表名;
  4.查看表结构
    desc 表名;
  5.删除表
    drop table 表名;
3.注意:
  1.所有的数据都是以文件的形式存放在数据库根目录下
  2.数据目录/var/lib/mysql

4.mac安装mysql
  1.cd
  2.vi.bash_profile
  添加:PATH=“$PATH”:/usr/local/myswl/bin
  3.source .bash_profile
5.表记录管理
  1.插入(insert)
    1.insert into 表名 values(值1),(值2).....;
    2.insert into 表名(字段1,.....)values(值1),....;
  2.查询(select)
    select * from 表名 [where 条件] 查询所有字段;
    select 字段名1,字段名2,... form 表名 [where 条件];

6.如何更改默认字符集
  1.方法(通过更改mysql配置文件实现)
  2.步骤
    1.获取root权限
      sudo -i
    2.cd /etc/mysql/mysql.conf.d/
    3.备份:cp mysql.cnf mysqld.cnf.bak
    4.subl mysqld.cnf
      [mysqld]
      character_set_server = utf8
    5.重启mysql服务
      /etc/init.d/mysql
7. 客户端把数据存到数据库服务器上的过程
  1.链接到数据库服务器 mysql -uroot -p123456
  2.选择一个 use 库名
  3.创建表/修改表 update 表名...
  4.断开与数据数据库链接  exit;| quit; | \q
8.数据类型
  1.数字类型
    1.整型
      1.int 大整型(4个字节
      取值范围:2**32 - 14294967295
    2.tinyint 微小整型(一个字节
      1.有符号(signed默认):-128 ~ 127
      2.无符号(unsigned):0 ~ 255
      3.smallint 小整型(2字节
      4.bigint 极大整型(8字节
    2.浮点型
      1.float4个字节,最多显示7个有效位
      1.用法:
        字段名 float(m,n) m:总位数  n:小数位数
        float(5,2)取值范围? -999.99 ~ 999.99
      2.decimal(最多显示28有效位
        decimal(m,n)
        存储空间(整数小数分开存储)
      规则:将9的倍数包装成4个字节
        余数        字节
          0       0
        1-2      1
        3-4      2
        5-6      3
        7-9      4
      示例decimal(19,9)
        整数部分: 10/9 = 1 % 1 4字节+1字节=5字节

        小数部分: 9/9 = 1 % 0 4字节+0字节=4字节

        共占:9字节

  2.字符类型
    1.char(定长)
      1.取值范围:1~255
      2.varcahr(变长)
        1.取值范围:1~65535
      3.text  / longtext(存储范围:4G)/blob /longblob(4G)
char和varchar的特点:
  1.cahr:浪费储存空间,性能高
  2.varchar:节省储存空间,性能低

3、练习
1、创建库testdb,指定字符集为 utf8
2、进入到库 testdb
3、查看当前所在库
4、创建库 testdb2,指定字符集为 latin1
5、进入到库 testdb2
6、查看 testdb2 的字符集(查看创建库的语句)
7、删除库 testdb
8、删除库 testdb2
答案:

create database testdb character set utf8;
use testdb;
select database();
create database testdb2 character set latin1;
use testdb2;
show create database testdb2;
drop database testdb;
drop database testdb2;

2、练习
1、创建库python1
2、在python1库中创建表 pymysql并指定字符集为utf8,字段有三个:id 、name char(15) 、 age
3、查看创建表pymysql的语句
4、查看pymysql的表结构
5、删除表pymysql
6、创建库python2
7、在python2中创建表t1并指定字符集为utf8,字段有 id 、name 、score,数据类型自己定义
8、查看t1的表结构
9、删除表t1
10、删除库 python2

答案:

create database python1;
use python1;
create table pymysql(
id int,
name char(15),
age int
) character set utf8;
show create table pymysql;
desc pymysql;
drop table pymysql;
create database python2;
use python2;
create table t1(
id int,
name char(15),
score float(5,2)
) character set utf8;
desc t1;
drop table t1;
drop database python2;

3、练习
1、查看所有的库
2、创建新库 studb
3、在 studb 中创建表 tab1 ,指定字符集utf8,字段有 id 、name、age
4、查看tab1的表结构
5、在tab1中随便插入2条记录
6、在tab1中的name、age两个字段插入2条记录
7、查看tab1中所有记录
8、查看tab1表中所有人的姓名和年龄
9、查看tab1表中年龄大于20的信息
答案:

show databases;
create database studb;
use studb;
create table tab1(
id int,
name char(10),
age int
)character set utf8;
desc tab1;
insert into tab1 values
(1,"张三丰",100),(2,"张无忌",30);
insert into tab1(name,age) values
("金毛狮王",88),("紫衫龙王",87);
select * from tab1;
select name,age from tab1;
select * from tab1 where age>20;

3、练习
1、创建库 studb2 ,并在库中创建表 stuinfo,要求:
id :大整型
name :字符类型,宽度为15
age :微小整型,不能为负数
height :浮点型,小数位为2位(float)
money :浮点型,小数位为2位(decimal)
2、查看stuinfo的表结构
3、查看stuinfo的默认字符集
4、在表中插入1条完整记录
5、查询所有表记录
6、在表中id 、name两个字段插入2条记录
7、查询所有学生的id和姓名
答案:

create table stuinfo(
id int,
name char(15),
age tinyint unsigned,
height float(5,2),
money decimal(20,2)
);
desc stuinfo;
insert into stuinfo values (1,"Bob",23,176,88888.88);
select * from stuinfo;
insert into stuinfo(id,name) values
(2,"Jim"),(3,"Tom");
select id,name from stuinfo;

8、作业
1、MySQL中数据类型有:____ ____ 枚举类型 日期时间类型
整数型、字符型
2、关系型数据库中的核心内容是 ___ 即 二维表
关系
3、简述客户端把数据存储到数据库服务器上的过程
链接数据库
切换的相应的库
找到相应的表格进行操作
断开数据库链接
4、char和varchar的区别,各自的特点
char:浪费储存空间 但性能高
varcchar:节省存储空间 但性能低
5、操作
1、创建一个学校的库 school
2、在库中创建表 students 用来存储学生信息:
id 大整型
姓名、年龄(不能为负)、性别、成绩(浮点)
3、查看students的表结构
4、在表中随意插入3条记录
5、在表中的 姓名、成绩两个字段插入3条记录
6、查看所有学生的姓名和成绩
8、查看成绩及格(>60分)的学生的姓名和成绩

答案:

create database school;
use school;
create table students(
id int,
name char(15),
age tinyint unsigned,
gender char(2),
score float(5,2)
);
desc students;
insert into students values
(1,"张三",20,"男",95.56),
(2,"李四",21,"男",98.30),
(3,"王浅",21,"女",100);

insert into students (name,score) values
("tom",60),
("lili",56),
("zhao",58.56);
select name,score from sutdents;
select name,score from students where score>=60;

原文地址:https://www.cnblogs.com/ParisGabriel/p/9393540.html

时间: 2024-08-27 08:35:04

Python全栈 MySQL 数据库 (简述 、安装、基本命令)的相关文章

Python全栈 MySQL 数据库 (索引、数据导入、导出)

ParisGabriel 每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰  开局一张图 表字段重命名(change)  alter table 表名 change 原名 新名 数据类型: SQL查询 执行顺序: 3. select ...聚合函数 from 表名 1. where ... 2. group by... 4. having... 5. order by... 6. limit... group by 语句 作用:给查询结果进行分组 注意: 1.group by之后的字段

Python全栈 MySQL 数据库 (SQL查询、备份、恢复、授权)

ParisGabriel 每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰  开局一张图 今天接着昨天的说 索引有4种: 普通 索引 :index  唯一索引:unique 主键索引:primary key 外键索引:foreign key 索引查询命令: show index from 表名\G: Non_Unique:1   :index Non_Unique:0  :unique 外键索引(foreign key):  定义:让当前字段的值在另一个表的范围内选择   语法:  

Python全栈 MySQL 数据库 (表字段增、删、改)

ParisGabriel 每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰  开局一张图 打字 回车时不小心发布了  正在编辑中.............. 原文地址:https://www.cnblogs.com/ParisGabriel/p/9398614.html

Python全栈 MongoDB 数据库(概念、安装、创建数据)

什么是关系型数据库? 是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据, 同时也是一个被组织成一组拥有正式描述性的表格(二维表),该形式的表格作用的实 质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存 取或重新召集而不需要重新组织数据库表格(即表与表之间的联系). nosql和关系型数据库比较?    优点:        1)成本:nosql数据库简单易部署,基本都是开源软件, 不需要像使用oracle那样花费大量成本购买使用,相比关系型

Python全栈 MongoDB 数据库(聚合、二进制、GridFS、pymongo模块)

断网了2天  今天补上 聚合操作: 对文档的信息进行整理统计的操作 返回:统计后的文档集合 db.collection.aggregate() 功能:聚合函数,完成聚合操作 参数:聚合条件,配合聚合操作符使用 返回:聚合后的结果 常用聚合操作符: 1.$group  分组聚合   要配合具体的统计操作符获取结果 $sum  求和 db.class1.aggregate({$group:{_id:'$gender',num:{$sum:1}}}) 分组   按照gender值统计 统计结果,求和每

Python全栈学习:如何安装Python方法,详解!

因为Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上.在Windows上写Python程序,放到Linux上也是能够运行的. 要开始学习Python编程,首先就得把Python安装到你的电脑里.安装后,你会得到Python解释器(就是负责运行Python程序的),一个命令行交互环境,还有一个简单的集成开发环境. 安装Python 3.7 目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的.由于3.x版越来越普及,我们的教程

巨蟒python全栈开发数据库前端8:jQuery框架2

1.事件 2.批量操作 3.事件冒泡 4.事件委托 1.事件 常用事件 click(function(){...}) hover(function(){...}) blur(function(){...}) focus(function(){...}) change(function(){...}) //内容发生变化,input,select等 keyup(function(){...}) mouseover 和 mouseenter的区别是:mouseover事件只要你在绑定该事件的对象上移动

python 全栈之路

python 全栈之路 一. python 1. Python基础知识部分 Python Python那点事 Python windows和linux下 安装 Python2,Python3 Python 开启入坑之路 Python 基本数据类型 Python 那些零碎的知识点 Python -函数 Python - 面对对象 Python - 模块 Python - 文件操作 Python - python中经常踩得的坑 2. Python - 网络编程 3. Python - 并发编程 二.

Python全栈之路----常用模块----hashlib加密模块

加密算法介绍 HASH       Python全栈之路----hash函数 Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值. 简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数. HASH主要用于信息安全领域中加密算法,他把一