Python高级 -- 07 MySQL数据库

一、安装MySQL数据库


1、ubuntu中安装MySQL服务端


(1)、安装服务端


root@ubuntu:/usr/local# sudo apt-get install mysql-server


(2)、查看mysql服务是否启动


root@ubuntu:/usr/local# ps -ef | grep mysql


(3)、mysql服务启动、停止的命令


root@ubuntu:/usr/local# sudo service mysql stop
root@ubuntu:/usr/local# sudo service mysql status
root@ubuntu:/usr/local# sudo service mysql restart




2、配置文件


(1)、配置文件位置


root@ubuntu:/# cd /etc/mysql/mysql.conf.d



(2)、主要配置项详解


bind-address表示服务器绑定的ip,默认为127.0.0.1

port表示端口,默认为3306

datadir表示数据库目录,默认为/var/lib/mysql

general_log_file表示普通日志,默认为/var/log/mysql/mysql.log

log_error表示错误日志,默认为/var/log/mysql/error.log


3、ubuntu中添加mysql的远程访问用户


(1)、修该上述配置


        将配置文件中的bind-address注释掉,表示允许其他ip访问改mysql服务端


(2)、创建远程访问的账户


mysql> create user 'root'@'%' identified by '123'  

mysql> grant all on *.* to 'root'@'%' with grant option; 
 
mysql> flush privileges; 

4、ubuntu中安装客户端


sudo apt-get install mysql-client


5、登录mysql


root@ubuntu:/# mysql -uroot -pmysql





二、数据库操作及查询语句


1、基本使用


(1)、查看所有数据库


show databases;


(2)、使用数据库


use 数据库名;


(3)、查看当前使用的数据库


select database();


(4)、创建数据库


create database 数据库名 charset=utf8;


(5)、删除数据库


drop database 数据库名;


(6)、查看当前数据库中所有表


show tables;


(7)、查看表结构


desc 表名;


(8)、创建表


CREATE TABLE table_name(
    column1 datatype 约束,
    column2 datatype,
    column3 datatype,
    .....
    columnN datatype,
    PRIMARY KEY(one or more columns)
);


(9)、添加表中字段


alter table 表名 add 列名 类型;

(10)、修改表中字段


重命名


alter table 表名 change 原名 新名 类型及约束;


使用原名


alter table 表名 modify 列名 类型及约束;


(11)、删除表中字段


alter table 表名 drop 列名;


(12)、删除表


drop table 表名;


(13)、查看表的创建语句


show create table 表名;


2、数据库备份&恢复


(1)、备份数据库


mysqldump –uroot –p 数据库名 > 备份名称.sql;

# 按提示输入mysql的密码


(2)、恢复数据库


mysql -uroot –p 新数据库名 < 备份名称.sql

# 根据提示输入mysql密码

三、设计数据库


1、三范式


        第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。


        第二范式(2NF):首先是 1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。


        第三范式(3NF):首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。


2、不遵循三大范式举例


(1)、不遵循 1NF




(2)、不遵循 2NF



(3)、不遵循 3NF




(4)、最终正确数据库




四、数据库查询语言


1、条件、排序、聚合、分组、分页、连接查询、子查询、自关联



2、查询总结


(1)、完整的select语句


select distinct *
from 表名
where ....
group by ... having ...
order by ...
limit start,count


(2)、执行顺序


from 表名
where ....
group by ...
select distinct *
having ...
order by ...
limit start,count


猜你喜欢

转载自blog.csdn.net/wingzhezhe/article/details/79555077