一、数据库概述
文字、图片、声音...任何描述事物的符号记录,经过数字化后存入计算机,可以称之为数据(Data),而数据库(DB)介绍存放这些数据的仓库
1、数据库相关软件
关系型数据库:固定表结构并且表与表之间可以建关系
常见软件:MySQL、PostgreSQL、sqlite,db2,oracle,access,sql server
非关系型数据库:没有固定表结构,存储数据以kv键值对形式
常见软件:mongodb,redis,memcache
二、MySQL介绍
本质也是一款基于socket编写的C/S架构的软件
1、重要概念介绍
"""
库 >>> 文件夹
表 >>> 文件夹里面的文件
记录 >>> 文件内一行行的数据
表头 >>> 表格的第一行数据
字段 >>> 字段名+字段类型
"""
2、下载与安装
具体请百度,pass
3、系统服务
1.环境变量添加
# 具体请百度,pass
2.系统服务制作(全部在管理员身份下操作)
# 查看系统服务
services.msc
# 制作成系统服务
mysqld --install
# 启动服务
net start mysql
3.取消系统服务(需要先停止服务,再取消系统服务)
# 停止服务
net stop mysql
# 取消系统服务
mysqld --remove
4、用户登录、设置密码
mysql -u用户名 -p密码 # 管理员初次登录无需密码
mysqladmin -uroot -p原密码 password 新密码 # 修改管理员密码
# 如果是只输入mysql,那就是以游客模式登录
# 忘记密码
1.跳过授权表启动
mysqld --skip-grant-tables
2.无密码登录
mysql -uroot -p
3.修改用户密码
update mysql.user set password=password(123) where user="root" and host="localhost"; # 修改对应用户的密码
4.退出正常启动
5、配置文件
因为MySQL的字符编码不一定统一,我们需要自己配置文件,保持编码统一。MySQL默认配置文件my-default.ini,这个文件不能修改!!!
我们把这个文件拷贝一份并重命名my.ini 即可
# 把文件内容拷贝进my.ini里
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
6、基本SQL语句
(1) 操作文件夹(库)
# 增
create database 数据库名称 charset='utf8';
# 删
drop database 数据库名称;
# 改
alter database 数据库名称 charset='gbk';
# 查
show databases; # 整体查看
show create database 数据库名称; # 指名道姓的查看
(2) 操作文件(表)
use 库名; # 切换文件夹
select database(); # 查看当前所在的库
# 增
create table 表名(id int,name char(4)); # 创建出来的可能是多个文件,解耦管理
# 改
alter table 表名 modify name char(16);
# 查
show tables; # 查看当前库下所有的表名
show create table 表名; # 查看表的详细信息
describe 表名; # 查看表结构(字段),支持简写desc t1;
# 删
drop table 表名;
(3) 操作文件中的内容(记录)
# 增
insert into 库名.表名 values (1,'tom'); # 传单个
insert into 库名.表名 values (2,'tom'),(3,'tony'),(4,'jason'); # 传多个
# 改
update 库名.表名 set name='DSB' where id > 1; # where后面是添加改的条件
update 库名.表名 set name='DSB' where id = 2 or id = 3; # 添加多个条件
# 查
select id,name from 库名.表名; # 库名可不指定,默认当前库下
select * from 表名; # *表示所有
# 删
delete from 库名.表名 where id >3; #将表里记录下 id大于3的统统删除
delete from 库名.表名 where name='jason';
delete from 库名.表名; # 将表所有的数据都删除