MySQL概述
1、什么是数据库
存储数据的仓库
2、哪些公司在用数据库
金融机构、游戏网站、购物网站、论坛网站 ... ...
3、数据库服务软件
1、软件分类
MySQL、Oracle、SQL_Server、MongoDB、DB2、Maraidb
2、生产环境中如何选择使用哪个数据库软件
1、是否开源
1、开源软件 :MySQL、Mariadb、MongoDB
2、商业软件 :Oracle、DB2、SQL_Server
2、是否跨平台
1、不跨平台 :SQL_Server
2、跨平台 :...
3、公司的类型
1、商业软件 :政府部门、金融机构
2、开源软件 :游戏网站、购物网站、论坛网站 ...
4、MySQL特点
1、关系型数据库
1、数据以 行和列(表) 的形式去存储的
2、表中行:一条记录 列:一个字段
3、表和表之间的逻辑关联叫关系
2、示例
1、关系型数据库存储
表1、学生信息表
姓名 年龄 班级
星矢 25 三班
水冰月 23 六班
表2、班级信息表
班级 班主任
三班 大空翼
六班 松人
2、非关系型数据库存储
{"姓名":"星矢","年龄":25,"班级":"三班","班主任":"大空翼"}
{"姓名":"水冰月","年龄":23,"班级":"六班","班主任":"松人"}
2、跨平台
在Windows、Linux、Unix运行数据库服务
3、支持多种编程语言
python、java、php ... ...
5、数据库软件、数据库、数据仓库
1、数据库软件
看的见、可操作,实现数据库的逻辑功能
2、数据库
逻辑概念,存储数据,侧重于存储
3、数据仓库
数据量特别庞大,主要用于数据分析、数据挖掘
数据库 :user表
数据仓库 :哪个时间段用户登录最多,哪个用户购物最多
MySQL安装
1、Ubuntu安装MySQL服务
1、安装服务端
sudo apt-get install mysql-server
2、安装客户端
sudo apt-get install mysql-client
3、Ubuntu安装软件
1、sudo apt-get install update
2、sudo apt-get -f install
作用 :修复依赖关系
2、Windows安装MySQL服务
1、下载安装包(windows)
mysql-installer***5.7***.msi
2、双击安装
3、Mac安装MySQL
1、下载安装包
2、设置环境变量
1、vi .bash_profile
2、添加如下内容保存退出
export PATH=${PATH}:/usr/local/mysql/bin
3、终端 :source .bash_profile
4、验证 :mysql -uroot -p密码
启动和连接MySQL服务
1、服务端启动
1、查看服务状态
sudo /etc/init.d/mysql status
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
# 本地登录可省略 -h 选项
mysql -uroot -p
基本SQL命令
1、SQL命令的使用规则
1、每条命令必须以 ; 结尾
2、SQL命令不区分字母大小写
3、使用 \c 终止当前命令的执行
2、库的管理
1、库基本操作
1、查看所有库
show databases;
2、创建库(指定字符集)
create database 库名 character set utf8;
3、查看创建库的语句(查看字符集)
show create database 库名;
4、查看当前所在库
select database();
5、切换库
use 库名;
6、查看库中的表
show tables;
7、删除库
drop database 库名;
2、库的命名规则
1、数字、字母、_,但是不能是纯数字
2、库名区分字母大小写
3、不能使用特殊字符 和 MySQL关键字
3、练习
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、查看库 testdb2 中的所有表
show tables;
8、删除库 testdb
drop database testdb;
9、删除库 testdb2
drop database testdb2;
3、表的管理
1、表的基本操作
1、创建表(别忘了选择库,指定字符集)
create table 表名(
字段名 数据类型,
字段名 数据类型,
字段名 数据类型
)character set utf8;
2、查看创建表的语句(字符集、存储引擎)
show create table 表名;
3、查看表结构
desc 表名;
4、删除表
drop table 表名;
2、练习
1、创建库 python1
create database python1;
2、在python1库中创建表 pymysql,指定字符集为utf8,字段有3个:
id int, name char(15) ,age int
use python1;
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,字段有 username char(20),password char(20)
use python2;
select database();
create table t1(
username char(20),
password char(20)
)character set utf8;
show tables;
8、查看t1的表结构
desc t1;
9、删除表 t1
drop table t1;
10、删除库 python2
drop database python2;
4、注意
1、所有数据都是以文件形式存储在数据库目录下/var/lib/mysql
5、表记录管理
1、插入(insert)
1、insert into 表名 values(值1),(值2);
2、insert into 表名(字段1,字段2)
values(值1),(值2);
2、查询(select)
1、select * from 表名 where 条件;
2、select 字段1,字段2 from 表名 where 条件;
3、练习
1、查看所有库
show databases;
2、创建新库 studb
3、在库studb中创建表 tab1,指定字符集utf8
字段(4个): id、name、age、score
use studb;
create table tab1(
id int,
name char(20),
age int,
score int
)character set utf8;
4、查看tab1的表结构
desc tab1;
5、在tab1中任意插入2条记录
insert into tab1 values
(1,"唐伯虎",23,88),
(2,"祝枝山",22,60);
6、查询所有表记录
select * from tab1;
7、在tab1中name、score两个字段插入2条记录
insert into tab1(name,score) values
("文征明",55),
("秋香",99);
8、查看表tab1中所有人的姓名和年龄
select name,age from tab1;
9、查看表tab1中成绩及格的学生信息(高于60分)
select * from tab1 where score>60;
5、如何更改库的默认字符集
1、方法 :更改配置文件
2、步骤
1、获取root权限
sudo -i
2、cd /etc/mysql/mysql.conf.d
3、cp mysqld.cnf mysqld.cnf.bak
4、subl mysqld.cnf
5、在[mysqld]下的tmpdir = /tmp添加
character_set_server = utf8
6、/etc/init.d/mysql restart
3、Mac本
vi /etc/my.cnf
写入:
[mysqld]
character_set_server = utf8
6、客户端把数据存储到数据库服务器上的过程
1、连接到数据服务器 :mysql -u用户名 -p
2、选择库 :use 库名
3、创建/修改表 :update 表名
4、断开与数据库连接 :exit; | quit; | \q;
想要看更多的课程请微信关注SkrEric的编程课堂