1 MySQL 介绍:
MySQL 是一种中型的、开源的、关系型数据库管理系统(DBMS)
关系型数据库管理系统:二维表及其之间的联系所组成的一个数据组织;成熟度高,各种产品sql语法类似。代表产品:MySQL,Oracle
非关系型数据库:格式灵活(可以是key-value形式,文档形式)速度快,但成熟度低,代表产品:Redis
用户操作数据:用户-->应用程序-->数据库管理系统(DBMS)-->操作系统-->硬件
DBMS是通过数据库存储引擎管理数据库
2.Ubuntu16.04 安装:
安装服务端:
sudo apt-get install mysql-server
安装客户端:
sudo apt-get install mysql-client
安装库:
sudo apt-get install libmysqlclient-dev
Ubuntu 系统重置密码:
use mysql:
update user set authentication_string=password('123456') where user='root';
update user set plugin='mysql_native_password';
flush privileges;
3.常用操作命令:
进入MySQL环境:mysql -h mysql主机地址 -u 用户名 -p;
显示所用数据库:show databases;
进入某个数据库:use 数据库名称;
查看当前所在数据库:select databases();
显示当前数据库中的所有表:show tables;
查看表结构:desc 表名称;
显示所有数据库存储引擎:show engines;
4.基本sql语句:
创建数据: create database 数据库名称 [charset utf8];
创建表: create table 表名称(
字段名 字段数据类型 约束,
...
)
create table student( id int primary key auto_increment, name varchar(20) not null, age int, sex char(5), score double not null );
插入记录: insert into 表名称 (字段名1,字段名2,、、、)values(值1,值2,、、、),(值1,值2,...)...
insert into 表名称 values(值1,值2,、、、),(值1,值2,...); 按照表中原字段的顺序插入值
修改记录:update 表名称 set 字段名=修改值 [,字段名 = 修改值,、、、] [where 条件];
删除操作:1> 删除记录 :delete from 表名称 [where 条件];
2>删除表:drop table 表名称;
3>删除数据库:drop datebase 数据库名称;
查询记录:基本查询: select 字段名 from 表名称 [where 条件]
限制查询:查询限定条数: select 字段名 from 表名称 [ where 条件] limit 最多记录数;
从指定偏移量查询限定条数: select 字段名 from 表名称 [where 条件 ] limit 偏移量, 最多条数;
排序查询: select 字段名 from 表名称 [where 条件] order by 字段名[desc] [,字段名...];
分组查询:select 字段名 from 表名称 [ where 条件] group by 字段名 [having 对分组后筛选条件];
select type,avg(price) from product group by type having type = '电子'; //查询 电子组 中产品的平均价格
分页查询: select 字段名 from 表名称 [where 条件] limit (currentPage - 1)* pageSize,pageSize;
模糊查询: select 字段名 from 表名称 where 字段名 like 匹配条件;
通配符:1> 代表任意多个字符 select * from student where name like '张%'; //查询所有行张的
2>_代表任意一个字符 select * from student where name like '_龙_'; //查询名字一共三个字 ,第二个字是 龙