[python全栈]04.MySQL(1)

目录

  1. MySQL概述
  2. MySQL安装及启动
  3. 库的管理
  4. 表的管理
  5. 表记录管理
  6. 整型
  7. 浮点型
  8. 字符类型

1. MySQL概述

MySQL概述
数据库 DataBase : 存储数据的仓库
哪些领域使用数据库 : 金融机构、游戏网站、购物网站、论坛网站......
提供数据库服务的软件:
	1.软件分类	
		MySQL ; Oracle ; SQL_Server ; DB2 ; MongoDB ; MariaDB
	2.如何选择使用数据库
		是否开源 
			开源软件 MySQL ; MariaDB ; MongoDB
			商业软件 Oracle ; DB2 ; SQL_Server
		是否跨平台
			支持	MySQL ; Oracle ; DB2 ; MongoDB ; MariaDB
			不支持	SQL_Sever(仅用于windows)
		公司的类型
			商业软件 : 政府部门 金融机构
			开源软件 : 民营公司 
MySQL特点 :
1.MySQL是关系型数据库
2.跨平台 可以在Unix Linux Windows上运行数据服务
3.支持多种编程语音 python java php

关系型数据库特点 :
	1.数据是以行和列(表格)的形式去存储的
	2.表中的每一行叫一条记录,每一列叫一个字段
	3.表和表之间的逻辑关联叫关系
数据库软件、数据库、数据仓库 的概念
	数据库软件 实现数据库的逻辑功能
	数据库 逻辑概念,用来存放数据的仓库,侧重于存储
	数据仓库	海量数据,侧重于数据分析和挖掘

2. MySQL安装及启动

1.Ubuntu安装MySQL服务
	1.安装服务端
		sudo apt-get install mysql-server
	2.安装客户端
		sudo apt-get install mysql-client
	3.Unbuntu安装软件
		1)sudo apt-get update	
			#访问源列表中每个网址,读取软件列表,保存到本地/var/lib/apt/lists
		2)sudo apt-get upgrade
			#本地所有已安装软件与软件列表对比,更新至列表软件版本
		3)sudo apt-get -f install
			#修复依赖关系 
2.Windows安装MySQL服务
	1.下载MySQL安装包
	2.安装教程去安装
3.Mac安装mysql
    1.cd
    2.vi .bash_profile
      添加 :PATH="$PATH":/usr/local/mysql/bin
    3.source .bash_profile
	
启动和连接MySQL服务
服务端启动 :
	1.查看MySQL状态
		sudo /etc/init.d/mysql status
		sudo /etc/init.d/mysql start | stop | restart
	2.客户端连接
		连接方法:$ mysql -h主机地址 -u用户名 -p密码
		#mysql -hlocalhost -uroot -p123456
		#本地登录可以省略 -h
		退出客户端 exit;quit;

3. 库的管理

SQL命令使用规则:
	1.每条命令必须以 ; 结尾
	2.SQL命令不区分字母大小写
	3.终止当前命令执行 \c 
库的管理:
库的基本操作:
	1.查看已有的库 :	show databases;
			以下基本库不能删除!
		| information_schema |
		| mysql              |
		| performance_schema |
		| sys                |
	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关键字

练习

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;

4. 表的管理

表的基本操作
      1.创建表(指定字符集)
		create table 表名(
			字段名 数据类型,
			字段名 数据类型,
			...
			字段名 数据类型 )[character set **];
      2.查看已有表的字符集
        show create table 表名;
      3.查看表结构
        desc 表名;
      4.删除表
        drop table 表名;
 注意:
 	1.所有数据都是以文件的形式存放在数据库目录下
 	2.数据库目录 : var/lib/mysql

练习:

1.创建库python1
	create database python1;
2.在python1库中创建表 pymysql并指定字符集为utf8,
      字段有三个:id 、name char(15) 、 age
      create table pymysql(
      		id int,
      		name char(15),
      		age int
      ) character set utf8 ;
3.查看创建表pymysql的语句
	show create table pymysql;
4.查看pymysql的表结构
	desc pymysql;
5.删除表pymysql
	drop table pymysql;
6.创建库python2
	create database python2;
7.在python2中创建表t1并指定字符集为utf8,字段有 id 、name 、score,数据类型自己定义
	use python2;
	create table t1(id int,name char(15),score int) charact set utf8;
8.查看t1的表结构
	desc t1
9.删除表t1
	drop table t1
10.删除库 python2
	drop database python2

5. 表记录管理

表记录管理
    1.插入(insert)
      1) insert into 表名 values(值1),(值2),...;
      2) insert into 表名(字段1,...) values(值1),...;
    2.查询(select)
      1)select * from 表名 [where 条件];
      2)select 字段1,字段名2 from 表名 [where 条件];
   
如何更改默认字符集(latin1 更改为 utf8)
  1.方法(通过更改MySQL配置文件实现)
  2.步骤
    1.获取root权限
      sudo -i
    2.cd /etc/mysql/mysql.conf.d/
    3.备份 :cp mysqld.cnf mysqld.cnf.bak
    4.subl mysqld.cnf
       [mysqld]
       character_set_server = utf8
    5.重启mysql服务
      /etc/init.d/mysql restart
    MAC:/etc/my.cnf
         [mysqld]
	 character_set_server = utf8
另外方法:windows亲测有效:
sql> show variables like "character%";
sql> set ***** = utf8; #手动修改

**客户端把数据存储到数据库服务器上的过程**
  1.连接到数据服务器 mysql -uroot -p
  2.选择一个库  use 库名
  3.创建表/修改表  update 表名...
  4.断开与数据库连接  exit; | quit; | \q;

练习

1.查看所有的库
        show databases;
2.创建新库 studb
        create database studb;
3.在 studb 中创建表 tab1 ,指定字符集utf8,字段有 id 、name、age
        use studb;
        create table tab1(
	id int,
	name char(10),
	age int
	)character set utf8;
4.查看tab1的表结构
        desc tab1;
5.在tab1中随便插入2条记录
        insert into tab1 values
	(1,"张三丰",100),(2,"张无忌",30);
6.在tab1中的name、age两个字段插入2条记录
        insert into tab1(name,age) values
	("金毛狮王",88),("紫衫龙王",87);
7.查看tab1中所有记录
        select * from tab1;
8.查看tab1表中所有人的姓名和年龄
        select name,age from tab1;
9.查看tab1表中年龄大于20的信息
        select * from tab1 where age>20   
SQL常用数据类型 :
	数值类型
		整型
		浮点型
	字符类型
	枚举类型
	日期时间类型

6. 整型

1.整型
      1)int 大整型(4个字节)
        取值范围 :2**32 - 1(42亿多)
      2)tinyint 微小整型(1个字节)
        1..有符号(signed默认) : -128 ~ 127
        2..无符号(unsigned) : 0 ~ 255
          	age tinyint unsigned,
      3)smallint 小整型(2个字节)
      4)bigint 极大整型(8个字节)

7. 浮点型

浮点型
1.float(4个字节,最多显示7个有效位)
	用法:
		字段名 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) #总字符19位,小数9位
	  整数部分:10/9=商1(9倍数四个字节)余1 	4字节+1字节=5字节
	  小数部分:9/9=商1(9倍数四个字节)余0 		4字节+0字节=4字节
	  占:9字节

练习

创建库 studb2 ,并在库中创建表 stuinfo,要求:
        id :大整型
	name :字符类型,宽度为15
	age :微小整型,不能为负数
	height :浮点型,小数位为2位(float)
	money :浮点型,小数位为2位(decimal)
        
        create table stuinfo(
	id int,
	name char(15),
	age tinyint unsigned,
        height float(5,2),
	money decimal(20,2)
	);
      2.查看stuinfo的表结构
      desc stuinfo;
      3.查看stuinfo的默认字符集
      show create table stuinfo;
      4、在表中插入1条完整记录
        desc stuinfo;
	insert into stuinfo values (1,"Bob",23,176,88888.88);
      5、查询所有表记录
        select * from stuinfo;
      6、在表中id 、name两个字段插入2条记录
        insert into stuinfo(id,name) values
	(2,"Jim"),(3,"Tom");
      7、查询所有学生的id和姓名
        select id,name from stuinfo;
字符类型
char(定长)
	取值范围:1~255
varchar(变长)
	取值范围:1~65535
text / longtext(4G) / blob / longblob(4G)	
	#用来存储大文本

char和varchar的特点
    char :浪费存储空间,性能高
    varchar :节省存储空间,性能低

作业

1.MySQL中数据类型有:
	数值型;字符类型;枚举类型;日期时间类型
2.关系型数据库中的核心内容是 :  
	关系 即 二维表
3.简述客户端把数据存储到数据库服务器上的过程
	1.登录2.找库3.建表4.退出
4.char和varchar的区别,各自的特点
5.操作
  1.创建一个学校的库 school
  	create database school;
  2.在库中创建表 students 用来存储学生信息:
    id 大整型
    姓名、年龄(不能为负)、性别、成绩(浮点)
    use school;
    create table students(id int,name char(15),age tinyint unsigned,
    	gender char(8),score float(5,2)) character set utf8;
  3.查看students的表结构
  	desc students;
  4.在表中随意插入3条记录
  	insert into students values(1,"liming",19,"Male",95.5),
  		(2,"zhanghua",20,"Male",96.0),(3,"lili",19,"Famale",98.5);
  	select * from students;
  5.在表中的 姓名、成绩两个字段插入3条记录
  	insert into students(name,score) values("lihua",97),("zhanghua",93);
  	select * from students;
  6.查看所有学生的姓名和成绩
 	 select name,score from students;
  8.查看成绩及格(>60分)的学生的姓名和成绩
  	select name,score from students where score>=60;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
08-10
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值