一、数据存储的演变过程
1、任意文件:数据位置不固定,查找不便,数据格式不统一,读写不便。
2、软件开发目录规范中的的标准位置:数据只存于本地,无法联网。
3、把多个单机客户端的数据统一存于一个服务端,之后的数据操作都交给这个服务端执行。
二、数据库简介
1、本质:就是一款基于网络通信的应用程序。
2、分类:
①关系型数据库:数据通常是以表格的形式存储,表格之间互有关联。如,MySQL,oracle,,db2,access,sql server等等。
②非关系型数据库:数据通常是以键值对的形式存储。如,redis,mongodb,memcache等等。
三、MySQL简介
1、任何基于网络通信的应用程序底层用的都是socket实现的,MySQL也不例外。
2、基于SQL语句,MySQL的服务端不仅支持自己的MySQL客户端的通信,还支持其他语言编写的应用程序的通信。
四、基本概念
1、库:数据存放的文件夹。
2、表:数据存放的具体文件。
3、记录:数据文件的一行行内容。
4、表头:表的第一行内容。
5、字段:表头的每个单位数据。
name age hobby ------ 这整行就是表头,而“name”,“age”,“hobby”则都是字段。
tom 18 music
jan 20 dance
pik 19 read
五、MySQL的安装教程:搬运贤奇的成果 ---https://www.cnblogs.com/xuexianqi/p/12795890.html
六、鸡哥tips
1、软件最好不要用最新版,在这个问题上可以遵循“多做未必有功,保持不会有错”的原则。就MySQL而言,目前就用5.6或者5.7左右的版本即可。
2、查看当前所有进程:
①在cmd中执行tasklist
②运行services.msc或直接打开任务管理器。
3、中止特定的进程:只能在管理模式的cmd中,执行taskkill /F /PID 具体PID号。
4、常见软件的默认端口号:
①MySQL:3306。
②redis:6379。
③mongodb:27017。
④django:8000。
⑤flask:5000。
七、在本地部署MySQL的服务
1、下载下来的文件解压后,是既有服务端又有客户端的,其中bin目录的mysqld.exe是服务端,mysql.exe是客户端。
2、将bin目录配置到环境变量中
3、将MySQL的服务端设置成系统服务,以便开机自动运行:在cmd中执行mysqld --install(解除系统服务:mysqld --remove)。
八、客户端连接:在cmd中执行mysql -h 127.0.0.1 -P 3306 -uroot -p(若服务端在本地,则无需输入IP与端口,客户端第一次以管理员的身份登入不需要密码)。
九、基本SQL语句:在MySQL中的SQL语句是以分号作为一条命令的结束标志的。
1、连接服务端:mysql -uroot -p
2、取消已输入命令:已输入命令后面 \c
3、查看所有库名:show databases
4、退出客户端登入(无需分号):quit或exit
5、游客模式登入:mysql
6、设置密码:mysqladmin -uroot -p原密码 -password 新密码。(无需在客户端,直接打开cmd即可)
7、跳过校验密码用管理员权限修改密码:
①关闭后台MySQL服务。
②在cmd中以无密码验证的模式打开服务端:mysqld --skip-grant-tables
③就像首次登入一样管理员无密码登入:mysql -uroot -p
④修改指定用户密码:update mysql.user set password=password(新密码) where user='root' and host='localhost'
⑤立即刷新数据:flush privileges
⑥关闭cmd中打开的服务器,重新加载到服务项里,再以正常校验密码方式登入即可。
十、设置配置文件
1、默认的配置文件:my-default.ini,服务端启动会先加载该配置文件。
2、自定义配置文件:my.ini,也会在服务端启动时加载。
3、基本配置,写入my.ini:
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
user="root"
password=123456
default-character-set=utf8
4、配置文件一旦修改过,需要重启服务端才能生效。
十一、增删查改相关的SQL语句
1、库
①新增库:create database 库名
②新增库并制定编码:create database 库名 charset='gbk'
③查所有库:show databases
④查指定库:show create database 库名
⑤改指定库:alter database 库名 charset='utf8'
⑥删指定库:drop database 库名
2、表,需要先切换到指定的库下面
①切库:use 库名
②查当前库:select database()
③新增表:create table 表名(id int,name char(6))
④查所有表:show tables
⑤查指定表:show create table 表名
⑥查指定表的详细信息:describe 表名(可简写为desc 表名)
⑦改指定表:alter table 表名 modify name char(8)
⑧删指定表:drop table 表名
⑨用绝对路径进行表操作:把上面---表名---的地方改为---库名.表名---
3、记录:需要先切换到指定的库下面
①新增记录:insert into 表名 values(1,'tom'),(2,'jan'),(3,'pik')
②查所有记录:select * from 表名(如果表的记录数量很多,最好不要用)
③查指定字段下的记录:select name from 表名
④改指定记录:update 表名 set name='nana' where id >1
⑤删指定记录:delete from 表名 where id > 1
⑥清空记录:delete from 表名