1 数据库 MySQL介绍

MySQL介绍

1 数据库介绍

数据库本质是一款基于网络通信的应用程序,用于存储和管理数据的仓库。
数据库实现了:数据统一存放且格式固定,即数据存放于服务端的特定位置,所有客户端都必须去该位置操作数据。

数据库主要分为两类:关系型数据库和非关系型数据库。
关系型数据库:

  1. 数据之间彼此有约束或联系;
  2. 通常以表格的形式存储数据,字段可以限制存储数据的类型。
  3. 代表:MySQL,Oracle,Access,SQL Server,SQLite

非关系型数据库

  1. 通常以键值对的形式存储数据;
  2. 速度比较快,可用于数据缓存;
  3. 代表:MongoDB (最像关系型数据库的非关系型数据库), Redis,Memcache

2 MySQL介绍

2.1 重要概念
名称类比
文件夹
文件
记录表格文件内每一行数据
表头表格文件的开头部分,一般是第一行字段
字段字段名 + 字段类型
表单文件中表头以外的数据
2.2 服务端和客户端

mysql/bin目录下
服务端:mysqld.exe (mysql daemon,监听3306端口)
客户端:mysql.exe

启动服务端

C:\mysql\bin>mysqld

启动客户端连接本地服务端

C:\mysql\bin>mysql -h 127.0.0.1 -P 3306 -uroot -p

简写,可以省略ip地址和端口号

C:\mysql\bin>mysql -uroot -p
  1. 常用的端口号
    MySQL:3306
    Redis:6379
    MongoDB:27017
    dJango:8000
    flask:5000
    Tomcat:8080
  2. 第一次以管理员用户root登录,默认没有密码;
  3. 退出MySQL可以使用命令 quit 或者 exit,不需要分号;
  4. 连接服务端时如果仅输入mysql,是以游客模式登录,不是以管理员用户登录,因此可以使用的功能有限;
  5. 进程相关

查看当前具体进程

tasklist
tasklist |findstr mysqld

杀死进程,要以管理员身份登录cmd。

taskkill /F /PID [PID号]
  1. 服务相关

需要以管理员身份运行cmd
建立mysqld.exe服务

C:\mysql\bin>mysqld --install

移除mysqld.exe服务

C:\mysql\bin>mysqld --remove

3 基本配置

MySQL中的SQL语句是以分号作为一条语句的结束标准;
可以在语句结尾添加 \c 来放弃执行本语句,此时不需要分号。

3.1 基本命令
  1. 查看所有的数据库名称
show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

在mysql主目录下的data文件夹中,默认有三个文件夹,分别为mysql,performance_schema,test,与上面输出的后三个相对应,而information_schema是用于保存MySQL服务器所维护的所有其它数据库的信息。

  1. 修改密码,在cmd中输入
C:\mysql\bin>mysqladmin -uroot -p[原密码] password[新密码]
  1. 破解密码
    方法:绕过用户名和密码认证

首先关闭mysql服务端;
然后以跳过授权表的方式启动mysql服务端;

C:\mysql\bin>mysqld --skip-grant-tables

此时登录客户端不需要输入密码;

C:\mysql\bin>mysql -uroot -p

重置当前用户的密码;

update mysql.user set password=password([新密码]) where user='root' and host='localhost'; 

立刻将数据从内存刷到硬盘;

flush privileges;

最后需要关闭服务端,以正常校验授权表的形式重新启动服务端。

3.2 修改配置文件

mysql默认的配置文件是 my-default.ini,程序启动时会加载配置文件中的设置,这个配置文件不可修改。
自定义配置需要新建配置文件my.ini。

[mysqld]
# 服务端启动时加载的配置
[mysql]
# 客服端启动时加载的配置
[client]
# 其它编程语言编写的客户端启动时加载的配置

例如,统一字符编码为utf-8,并且实现在客户端管理员不需要用户名密码自动登录。

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
user="root"
password=123456

配置完成后需要重启mysql服务端和客户端。

4 基本SQL语句介绍

4.1 库

create database db1;
create database db2 charset='gbk'

show databases;
show create database db2;

alter database db2 charset='utf8';

drop database db2;
4.2 表

查看当前所在库的名字

select database();

切换库

use db1;

create table t1(id int, name char(4));

create table db2.t1(id int, name char(4));

show tables;
show create table t1;
describe t1;
desc t1;

alter table t1 modify name char(16);

drop table t1;
4.3 数据

insert into t1 values(1, 'Tom');

insert into t1 values(2, 'Mary'), (3, 'Ben');

select * from t1;

select id, name from t1;

update t1 set name='Jean' where id = 2;

delete from t1 where id > 1;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值