数据库概念
什么是数据库?
1.用来存储数据的仓库,数据库可以在硬盘及内存中存储数据
2.用于存放数据库的计算机
3.数据库管理系统
数据库与文件存储数据的区别:
数据库本质也是通过文件来存储数据,数据库的概念通过系统的管理存储数据的文件
数据库介绍
数据库服务器端:mysqld存放数据库的主机集群
数据库客户端:mysql可以连接数据库的任意客户端
数据库管理员:DBA database admin
原理基于socket套接字的C/S架构应用
数据库的基本概念:
字段:id,name,age相当于python中的变量名
数据:相当于python中的变量值
记录:一条条字段和数据组成
表:多条记录构成一张表,本质就是文件
库:多张表构成一个库,本质就是文件夹
数据库分类:
关系型数据库,非关系型数据库
关系型数据库:以表中的一条条记录存储数据
常用的有:mysql,oracle(甲骨文)
sqlserver access(微软)
db2(abm)
非关系型数据库:通过键值对的方式存储数据
常用的有:mongodb, redis,memcache
数据库的安装:官网下载安装包,解压后服务端和客户端同时搞定
数据库的启动:
1.配置环境变量(cmd中任意位置可以启动mysql)
2.启动cmd(以管理员模式)
3.启动服务器mysqld,启动后处于阻塞状态,等待客户端链接
4. 再以管理员模式启动一个cmd,输入mysql进入客户端
5.由于这样启动的话,每次要开2个cmd端,故需要将mysql加入系统服务
6.首先quit退出mysql客户端,使用tasklist |findstr mysql确认服务器mysqld PID
7.使用taskkill /F /PID myasqld的PID(如果不是以管理员进入cmd的话,可能执行不了)
8.杀死服务端后,输入命令mysqld --install(cmd必须以管理员模式打开)
9.通过win+r 输入 services.msc进入系统服务,确认mysql是否加入系统服务
10.加入后默认状态为自启动,加入系统服务的是服务端,意味着以后开机就启动了服务端,我们可以直接打开cmd 输入 mysql -uroot -p进入,需关闭时,右击系统服务,关闭
密码操作:
1.修改密码
默认root用户密码为空,即没有密码
mysqladmin -uroot -p旧密码 password "新密码"
2.忘记密码:
1.先关闭服务器
2.打开cmd,输入mysqld --skip-grant-tables 目的是绕过注册表启动服务端
3.再打开一个cmd,登入客户端 mysql -uroot -p
4.登陆成功后修改用户文件 update mysql.user set password = password(“123”) where user="root"and host="localhost";(因为密码是密文保存的,故调用函数password())
5.退出登陆,使用task相关命令杀死服务端
6.调出系统服务,启动服务器,然后通过mysql -uroot -p123登陆
统一字符编码
系统默认的服务器编码拉丁文,客户端编码gbk
1.创建配置文件
window系统,在安装文件中新建my.ini文件
mac系统,在安装文件中新建my.cnf文件
2.修改配置文件并保存
[mysqld]
character-set-server =utf8
collation-server = utf8_general_ci
[client]
user = "root"
password = "123"
default-character-set =utf8
3.重启服务器
库的基本操作
查看所有库
show databases;
查看当前用户
select user();
1.创建库
create database db1;
create database db1 charset utf8;
2.查看库
show create database db1;
3.修改库
alter database db1 charset gbk;
4.删除库
drop database db1;
5.切换库
use db1;
表的基本操作:
前提:需要在具体的某个库下创建表,如在库db1下创建表t1
两种方法
①use db1;先切换到db1 create table t1(name char(16));
②create table db1.t1(name,char);
查看当前所在库
select database();
1.创建表
create table db1.t1(name char,age int);
2.查看表
表必须有的表名,字段,字段类型
查看表的详细信息
①show create table t1;
②desc t1; desc(desc describe的缩写)
查看所有表
show tables;
3.修改表
修改表的字段属性
alter table t1 modify name char(10);
修改表名
alter table t1 rename t11;
改字段(将字段name改为字段usr)
alter table t1 change name usr char(10);
4.删除表
drop table t1;
字段的基本操作
前提:明确哪张表
1.添加字段
insert into table dbl.t1 values("zb",18),("egon",28),("alex",38);
2.查看记录
select * from dbl.t1;
select name from db1.t1;
select name,age from db1.t1;
3.修改字段的值
update t1 set age = 20 where name ="zb";
4.删除字段
delete from db1.t1 where age >28;