一数据库概述
1.1、什么是数据库
即存放数据的仓库,只不过这个仓库是共享的
为了保证安全性,独立性,以及可扩展性,因此需要将文件分开保存,在一台计算机上分成不同的文件夹存放
1.2、什么是数据库管理系统
MYSQL,Oracle,sqlite,access等等,都是一种用来管理数据库的系统软件。
由于MySQL开放源代码,并且数据库是免费的,因此这个软件也是最常用的。
Oracle数据库功能强大,并且安全性高,但需要收费,属于甲骨文的产品
SQqite是微软公司的产品,应用于中大型企业
1.3、数据库服务器的内部关系
数据库服务器(计算机,对内存要求比较高)====》数据库系统软件(MySQL,一个软件)====》数据库(文件夹)====》表(文件)====》数据(代码,信息)
1.4、数据库的特点
1.数据结构化
2.数据共享,低冗余,易扩充
3.数据独立性高
4.数据由DBMS(数据管理系统)统一管理
1.数据的安全性保护
2.数据的完整性检查
3.并发控制
4.数据库恢复
1.5、数据库管理系统的分类
数据管理系统分为两种:关系型和非关系型
关系型(有表结构):MySQL,SQLLITE,Oracle
非关系型(没有表结构,使用key-value储存的):MongoDB,Redis
二、MySQL
2.1、MySQL的客户端与服务端
任何基于网络通信的应用程序底层用的都是socket
服务端(mysqld.exe):
基于socket通信
收发信息
SQL语句
客户端(mysql.exe):
基于socket通信
收发信息
SQL语句
在前期配置MySQL的时候尽量使用管理员权限,普通用户终端有一些命令是无法执行的
MySQL不仅支持自己使用的客户端,还支持其他语言来充当客户端
这需要服务器不仅可以兼容所有的语言,并且要求使用相同的SQL语句
2.2、启动
1.切换到MySQL的bin目录下,输入mysql
2.保留原来的cmd窗口重新打开一个
MySQL第一次用管理员登录时,是没有密码的,直接回车即可
2.3、常用软件默认端口号
客户端连接服务端完整的指令:mysql -h 127.0.0.1 -p 3306 -uroot -p
MySQL 3306 redis 6379 mongodb 27017 django 8000 flask 5000
2.4、初识SQL语句
1.MySQL中SQL语句是以分号;作为结束的标志
2.基本指令:show databases(查看所有的数据库)
3.连接服务端的命令可以简写:mysql -uroot -p
4.当输入的命令不对时就可以输入\c取消错误命令:\c
5.客户端退出:quit或者exit
6.查看当前进程:tasklist
查看当前具体进程:tasklist |findstr mysqld
7.结束当前进程:taskkill/F/pid pid号
8.当你在连接服务端时,只输入mysql也能连接,这说明你使用的是游客模式,而不是管理员身份
2.5、环境变量和系统服务
环境变量:将mysql的启动路径加入环境变量中
系统服务(开机自启动):
查看当前进程:services.msc
制成系统服务:mysql --install
移除系统服务:mysql --remove
2.6、设置密码
mysqladmin -uroot -p原密码 password 新密码
直接在终端输入就行,不需要进入客户端
2.7、忘记密码的情况下重设密码
1.跳过登录验证功能:mysql --skip-grant-tables
2.直接使用无密码登录:mysql -uroop -p 直接回车
3.修改当前密码:update mysql.user set password=password(123)where user=‘root’ and host=‘localhost’;
4.将密码更新到硬盘:flush privileges;
5.关闭当前服务端,以正常授权的方式进入
三、统一编码
3.1、配置文件
程序在执行前会先加载配置文件,之后才会真正的启动
以ini结尾的文件一般是配置文件:my-default.ini
3.2、配置文件设置编码以及登录信息
为防止输入乱码,将输入的格式先设定好,并且可以将登录的账号密码放置配置文件内,可以直接登录,保存后重启服务才能生效
[mysqld] #一旦服务器启动,立刻执行下面的配置 character-set-server=utf8 #将输入的格式设置成utf-8 collation-server=utf8_general_ci [client] #其他的客户端启动,执行下面的配置 default-character-set=utf8 [mysql] # 一旦客户端启动,立刻执行下面的配置 user="root" #将账号密码放入客户端的配置文件中,可以直接登录 password=123456 default-character-set=utf8
四、基本SQL语句
4.1、针对库的增删改查(文件夹)
1.增:create database db1;
create database db2 charset=‘gbk’;(而外指定库的格式)
2.查:show database;
show database db1;
3.改:alter database db2 charset=‘utf-8’;(更改库的格式)
4.删:drop database db2
4.2、针对表的增删改查(文件)
在操作表的前提下,需要现在到库
查看当前库的名字:select database();
切换到库:use db1
1.增:create table t1(id int,name char(4));
create table db2.t1(id int);(使用绝对路径进行增加)
2.查:show tables;
show create table t1;
desc t1;
3.改:alter table t1 modify name char(16);
4.删:drop table t1;
4.3、针对数据的增删改查
需要现有库,再有表,最后才能有数据
1.增:insert into t1 values(1,‘Jason’);
insert into t1 values(1,‘Jason’),(2,‘egon’),(3,‘tank’);(一次性可以增加多行数据,前面为每次增加时的序号)
2.查:select * from t1;(当数据量特别大时,不建议使用该命令)
select name from t1;
3.改:update t1 set name=‘dsb’ where id>1;
4.删:delete from t1 where id > 1;
delete from t1 where name=‘jason’;
delete from t1;(将表内数据删除)