python常用的数据库之一 ———Mysql(基础篇)

  • Post author:
  • Post category:mysql


###

今日语:放空自己


say say easy,do do hard

这里写图片描述

#####一、数据库的简介

数据库是什么,怎么玩?简单介绍一下~

1.数据库(Database)是按照数据结构来组织、存储和管理数据的仓库(db和dbms)

2.数据库的分类:即关系型数据库和非关系型数据库。而我们今天来说的Mysql就是典型的

关系型数据库


1>关系型数据库的特点:将数据保存在不同的表中,再将这些表放入数据库中,而不是将所有数据统一放在数据库里。

2>优点:这样不仅增加了Mysql的读取速度,灵活性和可管理型也得到了很大的提高,访问以及管理Mysql数据库的最常用标准化语言为SQL结构化查询的语句,竟而让数据持久化存储在硬盘中;

3>表示:

这里写图片描述

这样用图形能更形象描述出关系型数据库的特点,我们理解起来也方便多了,不用纠结那么长的概念了。

3.关系型数据库的设计规则:遵循ER模型和三范式

1>ER模型:

E | entity|代表实体的意思 |对应到数据库当中的一张表

——– | —

R | relationship|代表关系的意思

2>三范式:1、列不能拆分 2、唯一标识 3、关系引用主键

二、数据表的设计

1.原理:在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的

类型、约束

1)

字段类型


在mysql中包含的数据类型很多,这里主要列出来常用的几种

数字:int,decimal(小数的);

例如decimal(5,2)的意思是,最大5位数,其中小数2位,1.2和2.33都行,但10000.21就不行,超出位数了

字符串:char ,varchar,text

text存储比较多的字符串,比如商品的描述信息 char存储的是固定的字符串数据 varchar存储的是可变的数据 存储的是字符

char(8)存储的数据不满8个字符会在右侧自动补上空格字符–>”abcd ”

使用场景

存手机号码固定的就可以使用char(11)

varchar(8)存储数据不满8个字符,不会自动空格字符–>“abcd”

例如:存姓名用varchar(8)

日期:datetime,date,time 1987-07-24

布尔:bit(比如性别,数据是否删除)

  • bit(8)八个二进制位
  • 存储性别的时候:
  • 存储0或者1开销少
  • 如果存储male和female开销大
  • 两个状态存储的时间建议使用存储0和1方式

2)

约束–主键、非空、惟一,默认值,外键,自动增长

  • 约束就是限制的条件
  • 主键primary key;不能重复,唯一标识,物理的存储方式,速度快
  • 非空not null;比如要姓名不能为空,当保存为null的时候就会报错。
  • 惟一unique;这个值是唯一的。有重复的了会报错(比如身份证)
  • 默认default;如果不写就会有个默认值,这种叫默认,只有类型。
  • 外键foreign key

三、数据库的安装


安装MySQL服务端和客户端


>1.检查mysql安装情况


ps -ajx|grep mysql 查看进程方式查看


Mysql -uroot -p你的密码 进入mysql代表安装成功



sudo service mysql start 开启服务



sudo service mysql stop 停止服务



Sudo service mysql restart 重启服务

2>1、 进入数据库
mysql –u用户名 –p你的密码        	
2、 查看所有的数据库
show databases               
3、使用mysql数据库
use mysql           
4、查看mysql库中所有的表
show tables      
5、在user 这个表里面查看用户和用户权限字段 
select  user,host from user;
6、为数据库创建新用户并且赋予权限允许外部链接
grant all privileges on *.* to 用户名@"%" identified by "用户名密码" with grant option;  
7、 删除原来初始创建的root用户
delete from user where user=’root’ and host = ‘localhost’;
8、刷新数据库特权
flush privileges;  
9、打开配置文件,将bind_address修改为0.0.0.0
sudo  vi /etc/mysql/mysql.conf.d/mysqld.conf
10.重启mysql服务,使用windows下客户端进行连接

3>

数据库命令行操作


1.

查看所有数据库


show databases;


2.切换数据库


use [数据库名];

3.

创建数据库


create database [数据库名] ;


4.删除数据库


drop database [数据库名];


5.对表的操作



查看所有表


show tables;


6.创建表


create table [表名](字段1 类型1 约束1,字段2 类型2 约束2);


7.删除表


drop table [表名]


8.修改表名字


rename table [表名] to [新名]


对字段的操作


9.查询字段(表结构)

desc [表名]


10.增加表的字段


alter table [表明]add [字段名 类型 约束]


11.删除字段


alter table [表名]drop[字段名]


12.修改字段


alter table [表名] change [字段名] [新字段名 类型 约束]

① 、alter table students change id id int;

②、alter table students drop primary key;


对数据的操作


13.增加数据


插入一个全字段


insert into students values(0,’xxx’,31,1)


插入多个全字段


insert into students values(0,’liudehua’,24,0),(0,’yangmi’,31,0)


插入一个部分字段


insert into students(id,name) values(0,’zhaoliying’)


插入多个部分字段


insert into students(id,name) values(0,’liushishi’),(0,’linzhiling’)


14.删除某一条


delete from students where id=1;


15.清空


delete from students;


16.修改数据


update student set name=’xxx’ where name=’liudehua’


17.查找所有数据


select * from students


18.数据库备份和恢复


备份: sudo mysqldump –u数据库名 –p数据库密码 备份文件夹名> ~/Desktop/文件夹名back.sql

恢复:进入mysql先要创建一个新的数据库,注意字符集

然后退出mysql


sudo mysql –u数据库名 –p数据库密码 < ~/Desktop/备份文件夹名back.sql

在这里插入图片描述



版权声明:本文为qq_37143745原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。