认识MySQL
1、什么是数据库
·计算机处理和存储的一切信息都是数据
·计算机系统中一种用于存取数据的程序
·一种:
计算机系统中有很多存取数据的程序
他们有各自的长处和特征,有自己的适用范围
·存取:
能够保存数据避免丢失
能够按照需求找到符合条件的数据
2、为什么要使用数据库
数据库帮助我们解决一下数据存取难题
·较大数据量 ·网络访问 ·并发访问
·高性能访问 ·持久化和数据安全
·事物优化
·查询数据需求的逻辑 ·其他更多问题......
3、数据库的分类
·关系型数据库
mysql、oracle,SqlServer,
·非关系型数据库
Hadoop 存储大数据,mongoDB 文档型数据库,redis 键值高缓存数据库,Cassandra
关系型数据库和非关系性数据库的最显著的区别是否使用sql语句作为数据操作的方法
4、为什么要学习mysql
mysql:The wold's most popular open source database
·最流行
·开源
——基于GPL协议开放源代码
——社区版本完全免费
——代码允许自由的修改
·并不是最先进
——MySQL具备关系型数据库的核心功能但是特性并不繁多
——架构设计精简
——非常适合新手学习关系型数据库,入门后可以向其他数据库发展
5、谁要学习MySQL
·应用开发者
·DBA
DBA必备技能
SQL语言 安装部署 性能调优 应用优化
故障处置 原理掌握 容量规划 架构设计
二、轻松安装MySQL
三、连接MySQL
1、如何安装MySQL-client
·从软件源安装sudo apt-get install mysql-client
2、连接
·应用程序驱动
·MySQL命令行
·GUL工具
Linux命令行连接
·socket连接(本地连接)
mysql -S/tmp/mysql.sock -uroot -p
本地连接只能在Mysql服务器上连接,常作为MySQL状态检查,或程序和MySQL部署在同一台机器上。
·tcp/ip远程连接(要输入登录地址和端口号)
mysql -h127.0.0.1 -P3306 -uroot -p
远程连接在MySQL服务器内外都有效,适用于服务器和mysql部署在不同机器的场景
Windows命令行连接
mysql56\soft\bin\mysql -hlocalhost -P3306 -uroot -p
3、一些mysql常用命令
status :显示数据库版本信息,编码等
show processlist;/*显示当前连接mysql的人数*/
help *;帮助查询
4、使用socket连接注意事项
·socket一般存储路径为:/tmp/mysql.sock
若找不到。则先用tcp/ip连接进入mysql,然后使用下面命令找到socket文件的位置
show global variables like 'socket';
·socket文件的权限为777,不要更改权限,否则会导致socket连接打不开
·不要讲mysql密码直接输入到命令行中,存在风险
四、SQL语言入门
show databases; #显示所有的数据库
use mydata; #使用mydata数据库
show tables; #显示该数据库中的所有表
# 创建一张学生表
create table stu(
id int(10),
name varchar(20),
age int(10),
primary key(id));
#每一张表都需要包含一个主键,主键唯一标识一条记录,唯一的字段,不可重复不能为空,通过`primary key`关键字来定义。
#查看创建好的表
show create table stu;
#查看表结构
desc stu;
# 新加一个字段
alter table stu add column gender varchar(20);
#修改一个字段类型值
altertablestu modify column gender varchar(40);
#修改一个列的字段名
alter table stu change gender genders varchar(40);
#删除一个字段
alter table stu drop column genders;
#删除表
drop table stu;
#向表中插入数据
insert into stu (id,name,age) values(1,'pw',28);
#查询语句
#更新语句
update stu set age=29 where id=1;
#删除表中数据语句
delete from stu where id =1;
#删除和更新语句后面一定要加where,否则会删除或更新所又数据