数据库基础----mysql
1 数据库:
定义:
数据要永久保存,我们将数据与应用程序分离:
把文件存放于一台机器将多台机器通过网络去访问这台机器上的文件,即共享这台机器上的文件 为了远程访问并处理这台共享机器上的文件,我们必须为我们的程序额外写一段代码 1.远程连接 2.打开文件 3.读写(加锁) 4.关闭文件 5.查询效率,安全性
提取这段代码,写成一个专门的处理软件,这就是mysql等数据库管理软件
把程序员从数据管理中解脱出来
专注于自己的程序逻辑的编写。
常见的数据库:
oracle ===== mysql (mariadb)====db2
关系型数据库(数据库管理系统) === 都有表结构(每个字段都有对应的数据) (在硬盘里面)
非关系型数据库(redis mongdb mecache)==== key = value 结构 (赋值在内存里面 速度非常的快)
常见的CS结构数据传输过程:
|机器要求性能高 速度快||分散的 要求不太高 |机器要求不太高| |机器要求高|
客户端 (浏览器) -- 负载均衡 --- web服务(ngix) --web应用(python)-- 数据库(支持高并发 数据安全 文件操作 权限控制)
服务端(linux系统) python(数据库的客户端) -- (数据库服务端)
文件服务器(存储大文件)
非关系型数据库

数据库的基本概念:
文件 数据库 (对应关系)
一行内容 1 一条记录
一个文件 2 一张表
一个文件夹--一类文件 3 一个库
4 数据库管理系统 ( 一个软件 ) mysql,oracle,db2,mariadb,sql server (关系型的数据库)
打开连接
切换到文件夹下 -- 找到一个文件 --- 打开文件 -- 读写文件 -- 关闭文件 (优化,加锁处理,权限认证)
关闭连接
5 数据库服务器 (一台计算机)(装有数据库管理系统的 机器)
2.Mysql:
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL
是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
mysql是什么???
mysql就是一个socekt服务端,客户端软件
mysql自带
python模块
其他类型的数据库
分两大类:
关系型:sqllite,db2,oracle,access,sql server,MySQL:sql语句通用
非关系型:mongodb,redis,memcache
3.SQL语言:
SQL(Structured Query Language 即结构化查询语言)
主要用于 存取数据、查询数据、更新数据 管理关系数据库系统,SQL语言由IBM开发。
SQL语言分为3种类型:
DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如 CREATE DROP ALTER
DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT
DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
4.SQL语句:
dos命令: netstat -an | findastr 3306(mysql的端口3306) 查看端口使用
mscconfig --- 后台任务
services.msc ---系统服务
sql 语句
启动 补充
mysqld install
mysql remove ----services.msc===可以直接用鼠标控制
net start mysql;
net stop mysql;
1 登录 :
mysql -u root -p123
mysql -u root -p123 -h服务器 ip
2 查看账号: select user(); 3 退出: quit; exit; q; 4 查看帮助信息 help create user; 5 创建账号:
grant all priviledes on *.* to 'alex'@'%'identified by '123'
create user 'egon'@'192.168.32.*' identified by '123' create user 'egon'@'192.168.32.3' identified by '123' create user 'egon'@'%.*' identified by '123' 6 远程连接mysql mysql -uegon -p123 -h 192.168.11.55 7 产看所有的数据库
show databases;
8 授权 grant all privileges grant all
grant select on *.* to 'egon'@'%' identified by '123' 9 修改密码 mysqladmin -uroot -p password
破解密码:
taskkill mysqld # pkill mysqld
taskkill /f /pid xxx # kill -9 xxx
mysqld skip-grant-tables
mysqld
mysql -uroot -p
update mysql.user set password=password('') where user='root' and host='localhost';
mysql的 增删改查 操作库(database)的 增 create database db1 charset utf8; 查 show create database db1; 改 alter database db1 charset gbk; 删 drop database db1 操作表(tables)(文件) ---- 先切换到某一个库(文件夹) use db1; select database() 查看当前的库 增 create table t1(id int ,name char(最多10),age int) engine=innodb charset utf8; ===============create table t1(id int not null unique auto_increment,name char(4)) # 自增================ 查 show tables; show create table t1; desc t1;----查看结构 改 alter table t1 charset gbk; alter table t1 add sex char; 增加sex字段 alter table t1 drop sex; 删除 sex字段 alter table t1 modify sex char(6) 宽度 alter table t1 change sex CHAR(7) 修改字段 删 drop table t1 操作记录(一条记录) 增 insert into db1.t1(id,name,age,sex) values (1,'alex',10,'male') (2,'egon',10,'male') (3,'nam',10,'male') insert into db1.t1(id,name,age,sex) values(5,'asd') 查 select name,id,from db1.t1; select * from db1.t1; 改 update db1.t1 set name='Egon4' update db1.t1 set name='slexsb' where id=5 update db1.t1 set name='aa' where sex =male'' 删 delete from db1.t1 只是清空 truncate db1.t1 清空且重置 delete from db1.t1 where name='e'

读书使人心眼明亮


浙公网安备 33010602011771号