数据库01
将所有的数据存放到一个第三方的公共位置,同一个软件凡是需要操作数据的,就必须去这个共享的位置操作
第三方共享位置:数据库
数据库集群:将同一个数据库中的数据,复制到不同的服务器中。
MySQL数据:C -----> S架构软件
①:mysql数据库本质上就是一个基于网络通信的软件
②:所有基于网络通信的软件,底层都是socket
服务端:
基于网络通信
收发消息
客户端:
基于网络通信
收发消息
所有语言若想要操作数据库,拿到服务端IP和port,都必须遵循一套标准的解析指令 --->SQL语句
DBMS:数据库管理系统
关系型数据库:MySQL、Oracle、DB2、sql server……
①:报表结构
需要哪些字段
字段是什么类型
②:字段与字段类型
name ---> 'tank' ---> 字符串
age---> 17 ---> 整型
非关系型数据库:Redis、MongoDB……
非关系型数据库一般以key:value的形式存储
{'name':'tank'}
安装数据库
- 安装数据库 - 1.下载mysql安装包 - 2.解压安装包放在D:中 - 3.添加系统环境变量 - 4.以管理员身份打开CMD,输入mysqld启动服务端,此时会卡主 - bin目录下的: mysqld.exe - 5.在新建一个cmd,mysql客户端连接服务端,输入mysql -h 127.0.0.1 -P 3306 -p 密码 - mysql初始化时无密码,可以进入游客模式,功能会很少 - 无密码直接进入 ---》 不需要“-p 密码” - bin目录下的: mysql.exe 全写: mysql -h 127.0.0.1 -P 3306 -p 密码 简写: mysql -uroot -p 密码 - 6.退出数据库客户端 - exit; - quit; 注意: SQL语句末尾必须加 “;” 号。 - 查看操作系统中是否已经启动mysqld 服务端 - tasklist | findstr "mysqld" - 杀死mysqld进程 - taskkill /F /PID pid号 - *****做服务端操作时,必须先以管理员身份打开 - 数据库的命令: - 查看所有数据库: - show databases; - 制作系统服务 - 1.必须将已启动的服务端mysqld关掉 - 2.删掉已经启动过的mysqld的进程 - 3.输入 mysqld --install ----> 安装mysqld系统服务 - 4.输入 net start mysqld - mysql -u 登录mysql用户名(root) -p 密码 - 默认自带 root 超级用户, 没有密码 - 管理员登录 - mysql -uroot 回车进入 - 游客登录 - mysql 回车 - 修改密码: - 默认没有密码的情况下,设置密码 - cmd>>>: mysqladmin -uroot password 123 - 有密码的情况下,修改密码 - cmd>>>: mysqladmin -uroot -p原密码 password修改的密码 - cmd>>>: mysqladmin -uroot -p123456 password 123 - 破解密码: 当密码忘记时采用 - 1.关闭服务端 - 2.跳过权限启动服务端 - cmd>>>: mysqld --skip-grant-tables - 3.客户端进入游客模式: - cmd>>>: mysql - update mysql库.user表名 set 字段password=字段password('字段值') where 条件(若条件成立,则修改)user="root"; - cmd>>>: update mysql.user set password=password('123456') where user="root"; - 4.重新启动服务端,不要跳过权限认证 - 先kill掉跳过权限认证启动的服务端进程 - 再手动去开服服务中的mysql服务即可 - 设置配置文件: - 1.先在mysql目录下 --》 D:\mysql-5.6.40-winx64 - 2.创建一个名为 “my.ini” 的文件,这个是mysql的配置文件 - [mysqld] character-set-server=utf8 collation-server=utf8_general_ci # 这个是用python软件连接的客户端 [client] default-character-set=utf8 # mysql软件的客户端 [mysql] # 可写,可不写这样可以不需要用户名与密码直接登录mysql # user='root' # password=123 # 设置默认的字符编码 default-character-set=utf8 - 3.重启mysql服务,即修改成功!
数据库的基本操作
库的操作
- 增: 语法: create database 库名; - create database db1; - 查 语法: show databases; # 查看所有库 show create database db1; # 查看db1库中的信息 - 改 语法: alter database 库名 charset="字符编码类型"; - alter database db1 charset="utf8"; - 删 语法: drop database db1;
表的操作
- 操作表前,需要先切换到指定库 语法: use 库名; - use db1; 查看当前所在的库: select database() - 增 varchar与char 都是字符串类型; varchar(20) 语法: create table 表名(字段名 字段类型); create table user_info(name varchar(20), age int); - 查 show tables; # 查看当前库中所有的表 desc user_info; # 查看表结构 - 改 语法: alter table 表名 modify name varchar(28); - alter table user_info modify name varchar(28); - 删 语法: drop table 表名; - create table test(id int); - drop table test;
记录的操作(操作数据)
- 增: 语法: insert into 表名 values('字段类型的数据1', 字段类型的数据1); # 插入一条 - insert into user_info values('tank', 17); # 插入多条 - insert into user_info values('jason', 71), ('sean', 78); - 查: *: 指的是所有 语法: select * from 表名; # 查看表中所有的数据 - select * from user_info; # 查看name 字段为 tank 的记录 - select * from 表名 where 条件; # 条件成立则查看成功! - select * from user_info where name="tank"; # 查看name 字段为 tank 的age字段 - select age from user_info where name="tank"; # 查看所有的名字: - select name from user_info; - 改 语法: update 表名 set 字段名=字段值 where 条件判断; # 若条件成立,则修改成功! # 修改age为17的记录中name属性为 handsome - update user_info set name='handsome' where age=17; # 修改age>16的记录 中name属性为 d_sb - update user_info set name='d_sb' where age>16; - 删 语法: delete from 表名; # 清空表记录,不提交,可恢复。 - delete from user_info; 语法:delete from 表名 where 条件 # 删除符合条件的记录 - delete from user_info where name='d_sb'; 语法: truncate table 表名; # 删除,不可恢复 - truncate table user_info;
来源:https://www.cnblogs.com/aheng/p/12018830.html