一、Mysql简介。
简介:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。。
二、类型
1.分类
关系型数据库
数据库 有表,行,字段,约束
表与表之间存在关系
企业级数据库SqlServer MySQL POSTSql
超大型数据库 Oracal
轻量级文件数据库 Sqlite Python3内置了Sqlite
非关系型数据库(更加符合大数据时代需求)
文档数据库 MongoDB 数据库,集合,文档
内存数据库 Redis 数据库,键值对 结构更加宽泛
版本
企业版(收费版) 稳定 只包含最稳定的功能
社区版(免费) 免费 包含新功能 有可能不稳定
安装方式
windows安装包msi,直接根据安装向导下一步即可
windows压缩包zip,需要解压,自己配置安装
linux 在线安装sudo apt install mysql-server
mysql8 版本不在提供安装向导
默认可以使用root用户直接进入
linux targ.gz安装
官方网站 :MySQL
服务
sudo service mysql
Start 运行
Restart 重启
Stop 停止
ps -ef | grep mysql
数据库
结构化查询语句
DDL
数据定义语言
操作数据建库与表
DML
数据操作语言
插入、删除、修改
DQL
数据查询语言
查询
DCL
数据控制语言
用户权限控制
database
系统默认的数据库不要修改(新手期)
存储数据的仓库
用于管理表
三、常用指令
show databases: 展示当权数据库管理系统下都有哪些数据库
创建数据库 create database if not exists 数据库名 charset = utf8;
删除数据库 drop database 数据库名
select database();查询当前使用数据库
使用数据库 use 数据库名;
创建表 列名必须跟类型 约束不分先后顺序
Create table 表名(列名 类型 约束,列名,类型 ,约束)
展示当前数据库中所有的表
Show tables;
查看表结构 desc 表名;
删除表 drop table 表名;
重命名表
alter table 原表名 rename 新表名
添加列
alter table 表名 add 列名 类型 属性
修改列
alter table 表名 change 原列名 新列名 类型 约束
删除列
alter table 表名 drop 列名
查询表内容
select * from 表名
查询部分列
select 列名.... from 表名
通过as 给与别名
select 列名 as 别名,...from 表名s
通过条件语句查询
通过条件语句查询部分行
select * from 表名 where 条件
调用函数
普通函数
select database()
select user()查询用户
select version()查询乌班图版本
select current_date()
查询当前日期
select current_time()
查询当前时间
select utc_time()
美国时间 隔了八个小时
select current_timestamp()
查询当前时间戳
聚合统计函数
select count(id) from table2;
统计行数
select max(id) from table2;
统计最大值
select min(id) from table2;
统计最小值
select sun(id) from table2;
统计求和
select avg(id) from table2;
统计平均数
去重select distinct (去除的列)from table2
去除重复列
排序
升序asc
降序desc
select * from table2 order by age ,id desc
多列使用逗号隔开,默认位升序
分组
select * from table2 group by age
select age, count(*) from table2 group by age
select age,count(*)from table2 group by age having age >20:
group by
having
条件
分组时条件
分页
limit
limit count 只显示前count个
limit start count 从start开始数countge
全列插入
值的个数必须与列的个数一直
insert into 表名 values (值1,值2,值3 ....)
麻烦
有默认值的列也要给值
缺省插入 方式一
有默认值的列可以不给与值
方式一
insert into 表名(列名1,列名2,...)values(值1,值2,...
插入多行可以在values后使用逗号隔开)
修改
update 表名 set 列 = 值,...其他列值 + 限制条件
删除
delete from 表名
查询,修改,删除都可以带有条件语句
如果没有带条件语句 针对整个表
where 哪里
where id=101
where id >10
and
并且
or
或者
(比较项)between a and b
范围比较
慎用
in 与 not in
在多个选项中就符合
null
is null
为空
is not null
非空
like
%
多个
_
单个
主键约束
每个表中必须有主键
主键必须唯一,能够确定唯一一行
primary key
非空约束
not null
自增长
auto_increment
唯一约束
不能重复
unique
默认值
default
外键
是另外一个表的主键
foreign key(列名) references 表名(主键名)
权限
on update
restrict
拒绝更新
cascade
级联,同步更新
on delete
restrict
拒绝删除
cascade
级联,同步删除
例子
create table orders(id int not null auto_increment,uid int not null,gid int not null ,num int not null,primary key(id),foreign key(uid)references user(id) on delete cascade on update cascade, foreign key (gid) references goods(id) on delete cascade on update cascade)
用户与权限
mysql8用户的创建与权限分配需要分开
create user 'mkp'@'%' identified by '123456';
grant all on *.* to 'mkp'@'%'
all
所有权限
select,insert,update,delete
*.*
所有数据库中的所有表
db.tbale
drop user 'zzy'@'%'
删除用户
登录
mysql
-h
192.168.....
登录到的地址
-P
登录的端口
-u
用户名
-p
密码
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。