MySQL数据库 介绍,安装,基本操作
- 数据库介绍:
1.随意存放在一个文件中的数据,数据的格式千差万别
tank|123 jason:123 sean~123
2.软件开发目录规范
- Project:
- conf
- bin
- core
- db: 存放一个个的文件
1、2都是从本地读取的数据。
3.将所有数据存放到一个第三方的公共位置,同一个软件凡是需要操作数据的,就必须去这个共享的位置操作。
- 第三方的公共位置(数据库)
- 数据库集群: 将同一个数据库中的数据,复制到不同的服务器中。
4. MySQL数据: C ---> S架构软件
1) mysql数据库本质上就是一个基于网络通信的软件。
2) 所有基于网络通信的软件,底层都是socket。
- 服务端:
- 基于网络通信
- 收发消息
- 客户端:
- 基于网络通信
- 收发消息
- 所有语言若想操作数据库,拿到服务端ip和port,都必须遵循一套标准的解析指令 ---》 SQL语句
***** 学习SQL语句
- DBMS: 数据库管理系统
- 关系型数据库: MySQL、Oracle、DB2、sql server、....
- 1) 表结构
- 需要哪些字段
- 字段是什么类型
- 2) 字段与字段类型
- name ---> 'tank' ----> 字符串
- age ---> 17 ---> 整型
- 非关系型数据库: redis、mongodb...
- 非关系型数据库一般以 key:value的形式存储
{
'name': 'tank'
}
- 安装数据库
- 1.下载mysql安装包
- 2.解压安装包放在D:中
- 3.添加系统环境变量 D:\mysql-5.6.40-winx64\bin
- 4.以管理员身份打开CMD,输入mysqld启动服务端,此时会卡住
- bin目录下的: mysqld.exe
- 5.在新建一个cmd,mysql客户端连接服务端,输入mysql -h 127.0.0.1 -P 3306 -p 密码 (3306是MySQL默认端口号)
- mysql初始化时无密码,可以进入游客模式,功能会很少
- 无密码直接进入 ---》 不需要“-p 密码”
- bin目录下的: mysql.exe
全写: mysql -h 127.0.0.1 -P 3306 -p 密码
简写: mysql -uroot -p 密码 (以管理员权限打开)
- 6.退出数据库客户端
- exit;
- quit;
注意: SQL语句末尾必须加 “;” 号。
- 查看操作系统中是否已经启动mysqld 服务端
- tasklist | findstr "mysqld"
- 杀死mysqld进程
- taskkill /F /PID pid号
- *****做服务端操作时,必须先以管理员身份打开
- 数据库的命令:
- 查看所有数据库:
- show databases;
- 制作系统服务(不用每次都打开mysqld服务端,在管理->服务->MySQL中可以设为手动,节省资源)
- 1.必须将已启动的服务端mysqld关掉
- 2.删掉已经启动过的mysqld的进程
- 3.输入 mysqld --install ----> 安装mysqld系统服务
- 4.输入 net start mysql
- 5.输入 net stop mysql
- mysql -u 登录mysql用户名(root) -p 密码
- 默认自带 root 超级用户, 没有密码
- 管理员登录
- mysql -uroot 回车进入
- 游客登录
- mysql 回车
- 修改密码:
- 默认没有密码的情况下,设置密码
- cmd>>>: mysqladmin -uroot password 123
- 有密码的情况下,修改密码
- cmd>>>: mysqladmin -uroot -p原密码 password修改的密码
- cmd>>>: mysqladmin -uroot -p123456 password 123
- 破解密码: 当密码忘记时采用
- 1.关闭服务端
- 2.跳过权限启动服务端
- cmd>>>: mysqld --skip-grant-tables
- 3.客户端进入游客模式:
- cmd>>>: mysql
- update mysql库.user表名 set 字段password=字段password('字段值') where 条件(若条件成立,则修改)user="root";
- cmd>>>: update mysql.user set password=password('123456') where user="root";
- 4.重新启动服务端,不要跳过权限认证

- 先kill掉跳过权限认证启动的服务端进程
- 再手动去开服服务中的mysql服务即可
- 设置配置文件:
- 1.先在mysql目录下 --》 D:\mysql-5.6.40-winx64
\s 查配置文件
- 2.创建一个名为 “my.ini” 的文件,以下是mysql的配置文件(改成utf8)
- [mysqld]
character-set-server=utf8
collation-server=utf8_general_ci # 这个是用python软件连接的客户端
[client]
default-character-set=utf8 # mysql软件的客户端
[mysql]
# 可写,可不写这样可以不需要用户名与密码直接登录mysql
# user='root'
# password=123 # 设置默认的字符编码
default-character-set=utf8

- 3.重启mysql服务,即修改成功!
- 数据库基本操作:
- 库的操作 ---> 类似于文件夹
- 增:
语法: create database 库名;
- create database db1;
- create database db2 charset = 'gbk'; (创建字符为GBK编码的库)
- 查
语法: show databases; # 查看所有库
show create database db1; # 查看db1库中的信息
- 改
语法: alter database 库名 charset="字符编码类型";
- alter database db1 charset="utf8";(MySQL只认utf8,不认utf-8)
- 删
语法: drop database db1;
- 表的操作 ---> 类似于文件
- 操作表前,需要先切换到指定库
语法: use 库名;
- use db1;
查看当前所在的库: select database()
- 增
varchar与char 都是字符串类型;
varchar(20)
语法: create table 表名(字段名 字段类型);
create table user_info(name varchar(20), age int);
- 查
show tables; # 查看当前库中所有的表
desc user_info; # 查看表结构
- 改
语法: alter table 表名 modify name varchar(28);
- alter table user_info modify name varchar(28);
- 删
语法: drop table 表名;
- create table test(id int);
- drop table test;
- 记录 的操作 ---> 类似于文件中的一行行数据
- 增:
语法: insert into 表名 values('字段类型的数据1', 字段类型的数据1);
# 插入一条
- insert into user_info values('tank', 17);
insert into user4(name) values('tank'); (根据字段添加,其他字段为null)
# 插入多条
- insert into user_info values('jason', 71), ('sean', 78);
insert into user2(id, name) values(1, 'tank'), (2, 'sean'); (根据字段添加,其他字段为null)
- 查:
*: 指的是所有
语法: select * from 表名; # 查看表中所有的数据
- select * from user_info;
# 查看name 字段为 tank 的记录
- select * from 表名 where 条件; # 条件成立则查看成功!
- select * from user_info where name="tank";
# 查看name 字段为 tank 的age字段
- select age from user_info where name="tank";
# 查看所有的名字:
- select name from user_info;
- 改
语法: update 表名 set 字段名=字段值 where 条件判断; # 若条件成立,则修改成功!
# 修改age为17的记录中name属性为 handsome
- update user_info set name='handsome' where age=17;
# 修改age>16的记录 中name属性为 d_sb
- update user_info set name='d_sb' where age>16;
- 删
语法: delete from 表名;
# 清空表记录,不提交,可恢复。
- delete from user_info;
语法: truncate table 表名;
# 删除,不可恢复
- truncate table user_info;
MySQL数据库 介绍,安装,基本操作的更多相关文章
- MySQL数据库之安装,基本操作
一.基础部分 1.数据库是什么 之前所学,数据要永久保留,比如用户注册的用户信息,都是保存于文件,而文件只能存在于某一台机器上. 如果我们不考虑从文件中读取数据的效率问题,并且假设我们的程序所有的组件 ...
- Mysql数据库介绍、安装和配置文件
Mysql数据库介绍.安装和配置文件 MySQL数据库介绍 mysql是开源关系型数据库,遵循GPL协议. mysql的特点是性能卓越且服务稳定,开源,无版本限制,成本低,单进程多线程,多用户,基于C ...
- CentOS6.4/6.7下Mysql数据库的安装与配置(转载)
通过RPM方式 给centos 安装mysql 最好有光盘,呵呵,网络也可以下载rpm安装包,不过文件较大. 1 挂载光盘 mount /dev/cdrom /mnt/cdrom/mount: b ...
- [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
from: http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...
- Linux学习之CentOS--CentOS6.4下Mysql数据库的安装与配置【转】
如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--C ...
- Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...
- Linux学习之CentOS6下Mysql数据库的安装与配置
转自:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...
- Linux CentOS6.4下Mysql数据库的安装与配置
一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...
- CentOS6.5下Mysql数据库的安装与配置
一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...
随机推荐
- STS(Spring Tool Suite)中.yml文件的语法颜色设置
点击Window --> 最下面点击 YEdit Preferences --> 点击 color Preferences 弹出以下对话框进行修改颜色
- Paper | FFDNet: Toward a Fast and Flexible Solution for CNN based Image Denoising
目录 故事背景 核心思想 FFDNet 网络设置 噪声水平图 对子图像的去噪 保证噪声水平图的有效性 如何盲处理 为啥不用短连接 裁剪像素范围 实验 关于噪声水平图的敏感性 盲处理 发表在2018 T ...
- 大话设计模式Python实现-状态模式
状态模式(State Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类 下面是一个状态模式的demo: #!/usr/bin/env python # -*- ...
- 使用wireshark学习TCP
TCP标志位: 在TCP传输中,标志位用于表示特定的连接状态或提供额外信息.每个标志位占用1比特.常用的TCP标志位包含以下几种: SYN Synchronous,TCP三次握手建立连接的第一步,主动 ...
- 分布式中session共享的解决方案:spring-session
Session是客户端与服务器通讯会话跟踪技术,是服务器与客户端保持整个通讯的会话基本信息.客户端在第一次访问服务器的时候,服务端会响应一个sessionId并且将它存入到本地的Cookie中,在之后 ...
- Django学习笔记(17)——BBS+Blog项目开发(1)验证码功能的实现
本文主要学习验证码功能的实现,为了项目BBS+Blog项目打下基础. 为了防止机器人频繁登陆网站或者破坏分子恶意登陆,很多用户登录和注册系统都提供了图形验证码功能. 验证码(CAPTCHA)是“Com ...
- 以STM32和FPGA为核心的多组件协调工作系统
- Quartz.net任务调度
一.Quartz.net简介 Quartz.net是一个开源的任务调度框架,很多定时任务.调度任务都可以用这个框架,如定时日志等. 二.Quartz.net用途 定时给女朋友发送消息 女朋友生日的时候 ...
- 高性能TcpServer(C#) - 3.命令通道(处理:掉包,粘包,垃圾包)
高性能TcpServer(C#) - 1.网络通信协议 高性能TcpServer(C#) - 2.创建高性能Socket服务器SocketAsyncEventArgs的实现(IOCP) 高性能TcpS ...
- Python urllib与requests、XML和HTMLParser
参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1019223241745024 Python 的内建模块urllib提供了一系列用于操作 ...