python开发bo MySQL安装,基本的SQL命令,库的管理,表的管理,表记录的管理

MySQL

1. MySQL概述

意义

一个存储数据的仓库

公司运用的数据库?

金融机构,游戏网站,购物网站,论坛网站…

 

数据库的服务的软件

MySQL

Mariadb

SQL_server

Oracle

DB2

MongoDB

生产环境中如何选择使用哪个数据库

 

是否开源

 

开源!=免费

开源软件

MySQLMariadbMongoDB

商业软件

OracleDB2SQL_server

是否跨平台

跨平台

不跨平台

SQL_server

公司的类型

商业软件

政府部门、金融机构

开源软件

游戏网站、购物网站、论调网站、

 

 

特点

 

1.关系型数据库

1.数据库以行和列的形式存储

2.表中的每一行叫一条记录

3.表中的每一列叫一个字段

4.表和表之间的逻辑关联叫关系

2.跨平台

可以在UnixLinuxwindows、上运行数据库服务

3.支持多种编程语言

PythonjavaPHP

1.关系型数据库示例

1 .学生信息表

姓名

年龄

班级

小王

25

三班

小张

25

六班

 

班级

班主任

三班

q老师

六班

a 老师

2.非关系型数据库示例

{“姓名”:“小王”,“年龄”:“25”,“班级”:“三班”,“班主任”:“q老师”}

{“姓名”:“小张”,“年龄”:“25”,“班级”:“六班”,“班主任”:“a老师”}

数据库软件

意义

是一种软件,可以看得见,可操作,来实现数据库逻辑功能

 

数据库

意义

是一种逻辑概念,用来存放数据的仓库,通过数据库软件来实现,则重存储

用处

User用户名和密码

 

数据仓库

意义

主要用于数据挖掘和数据分析

用处

哪个时间段用户登录量最多,哪个拥挤一年购物最多

     MySQL安装

1Ubuntu 安装MySQL

Sudo  apt-get  install  mysql-sever

2、安装客户端

Sudo  apt-get  install  mysq-client

1Ubnutu安装软件

3、更新一下软件

Sudo  apt-get  update

4、修复依赖关系

Sudo  apt-get  install

5、软件包

Sudo  apt-get install

2Windows 安装MySQL服务

1、下载MySQL安装包(windows

mysql-installer***5.7.***.msi

2、双击、按步骤教程安装

启动和连接MySQL服务

1、服务端启动

Sudo /etc/init.d/mysql  start

2、服务端停止

Sudo /etc/init.d/mysql  stop

3、服务端重启

Sudo /etc/init.d/mysql  restart

4、查看当前状态

Sudo /etc/init.d/mysql  status

5、重新加载配置文件

Sudo /etc/init.d/mysql  reload

客户端连接

命令格式

mysql  -h主机地址 -u用户名-p密码

myaql  -hlocalhost  -uroot  -p123456

本地连接可

省略 h选项

 

mysql -uroot -p123456

基本的SQL命令

 

使用规则

1.每条SQL命名必须以;结尾

2.SQL命名不区分字母大小写

3.使用\c终止当前命令

库的管理

 

库的基本操作

查看已有的库

show databases

创建库

create database

库名[character set utf8]

查看创建库的语句

show create database 库名;

查看当前所在库

select database()

切换库

use 库名;

查看库中已有表

Show tables

删除库

drop database 库名;

库的命名规则

 

规则

1.数字、字母、_、但不能是纯数字

2.库名区分字母大小写

3.不能使用特殊字符和mysql关键字

练习

1、创建库testdb,指定字符集为utf8

create database testdb character set utf8;

2、进入到库testdb

use testdb;

3、查看当前所在库

select database();

4、创建库testdb2,指定字符集为latin1

create database testdb2 character set latin1;

5、进入到库testdb2

use testdb2;

6、查看testdb2的默认字符集

show create database testdb2;

7、删除库testdb

drop database testdb;

8、删除库testdb2

drop database testdb2;

表的管理

 

 

表的基本操作

创建表

create  table 表名(字段名1数据类型,

字段名2数据类型,

字段名3数据类型)

character set utf8

查看创建表的语句(字符集)

show create table 表名;

查看表结构

desc 表名;

删除表

drop table 表名;

 练习:

1、创建库python1

2、在 python1 库中创建表 pymysql并指定字符集为utf8,字段有三个:id  name  age 数据类型自己定义(比如说:char20)、int )

3、查看表pymysql的的语句

4、查看表 pymysql 的表结构

5、删除表 pymysql

6、删除库 python1

注意!!!

所有的数据都是以文件的形式存放在数据库目录/var/lib/mysq1

表记录的管理

表中插入记录

1Insert into 表名 values(1),(值2),(值3),…;

例如:id name age values(1,“小李”,23)

2Insert into 表名(字段名1,字段名2values();

查询表记录

1select *from 表名[where 条件]

2select字段名1,字段名2  from表名[where 条件]

3、示例:

mysql> select * from t2;

mysql> select * from t2 where id<3;

mysql> select name,age from t2;

mysql> select id,name from t2 where id<4;

练习

1、查看所有库

show databases;

2、创建一个新库 studb

create database studb;

3、在 studb 中创建一张表tab1,指定字符集utf8,字段有:

id name age score 四个 char(15)

use studb;

select database();

create table tab1(

id int,

name char(15),

age int,

score int

)character set utf8;

4、查看 tab1 的表结构

desc tab1;

5、在tab1中随便插入2条记录

insert into tab1 values

(1,"李白",30,90),(2,"杜甫",30,88);

6、在tab1中的namescore两个字段插入2条记录

insert into tab1(name,score) values

("李清照",25),("王维",28);

7、查看tab1表中所有记录

select * from tab1;

8、查看tab1表中所有人的名字和成绩(score)

select name,score from tab1;

如何更改默认字符集

方法

通过更改MySQL配置文件实现

 

 

步骤

1、获取root权限

sudo -i

 

2、备份配置文件

cd /etc/mysql/mysql.conf.d/

cp  mysqld.cnf  mysqld.cnf.bak

 

3、更改mysqld.cnf配置

subl mysqld.cnf

[mysqld]

character_set_server=utf8

4、重启mysql服务

sudo /etc/init.d/mysql restart

 

 

 

客户端把数据存储到数据库服务器上的过程

 

步骤

1、先连接到数据库服务器

2、选择库

3、创建或者修改表

4、断开与数据库的连接  exit; | quit; | \q;

数据类型

 

 

 

 

 

 

 

 

数值类型

1、整型

(有符号和无符号unsigned

1. int 大整型(4个字节)

0~2**32 -142亿多)

2. tinyint 微小整型(1个字节)

1)有负号(signed)

2)无负号(unsigned) : 0~255

age tinyint unsigned

3.bigint 极大整型(8个字节)

 

 

 

 

 

 

 

 

 

2、浮点型

1. float4个字节,最多显示7个有效位)

用法:字段名 floatm,n

m总位数,n:小数位位数

2.decimal(最多显示28个有效位)

1).用法:字段名decimalmn

m总位数,n:小数位位数

2).存储空间:

(整数部分和小数部分分开存储)

规则:将9 的倍数包装成4个字节

余数   字节

1-2      1

3-4      2

5-6      3

7-8      4

decimal19,9

整数部分:

10/9=11  4字节+1字节=5字节

小数部分:

9/9=10  4字节 +0字节 = 字节

字符类型

1、 char(定长)

char(宽度值)

char:浪费存储空间,性能高

2、 varchar(变长)

varchar(宽度值)

varchar:节省存储空间,性能低

 

枚举类型

 

只能在列举的

范围内选择

单选:字段名enum(值1,值2…)

多选:字段名set(值1,值2…)

插入记录的时候:

girlPythonsthdy

日期时间类型

练习:

1、 创建一个库 studb2,并在studb2中创建表tab2,字段要求如下:

id 整型

class 变长,宽度为20

age  微小整型,不能输入负数

height 浮点数,小数位为2

2、 查看tab2表结构

3、 查看tab2字符集

4、 tab2中插入2条完整记录

5、 查询所有表记录

6、 tab2中的nameheight 两个字段插入2条记录

7、 查询所有学生的姓名和身高

8、 查询身高大于160的学生信息

数值类型的宽度和字符类型的宽度区别

1、 数值类型宽度为显示宽度

只用于select查询显示

占用存储空间大小无关

zerofill来显示效果

2、字符类型的宽度超过则无法存储

示例:id int(3) zerofill,

表字段操作

1、语法

slter table 表名 执行动作;

 

 

 

2、添加字段(add

alter table 表名 add 字段名 数据类型

(默认加到末尾)

 

alter table 表名 add 字段名 数据类型 first(默认加到最前面);

 

alter table 表名 add 字段名 数据类型 after 字段名;(指定位置)

 

3、删除字段(drop

alter table 表名 drop 字段名;

4、修改字段的数据类型(modify

alter table 表名 modify 字段名 新数据类型

1、面试题

1MySQL中的数据类型有:____ ____ ____ ____

2、关系型数据库的核心内容是 _关系_ _二维表_

3charvarchar的区别,各自的特点

4

1)创建一个库school

2)在库中创建一个表students来存储学习信息

 Id 显示宽度为3,位数不够用用0填充

nameage(要求不能输入负数)、score(浮点)、性别(单选)、likes爱好(多选)

3)查看students 的表结构

4)在students 中添加一个字段height,加在age字段之后

5)将score 字段的数据类型改为decimal

6)在students 中插入3条完整记录

7)查看所有学生的姓名和成绩

8)查看没有及格的学生的信息

猜你喜欢

转载自blog.csdn.net/weixin_42312995/article/details/80890498