python-Web-数据库-mysql
概念:
服务器->数据库管理系统(软件)->数据库(文件夹)->表(文件)
关系型
安装与配置:
>>>下载-安装-环境变量
>>>启动 mysql | net start mysql | 手动
>>>查看启动 tasklist | findstr mysql | netstat -an
>>>本机ID ipconfig
>>>登陆 mysql -h服务器ip -P3306 -u用户名 -p密码
>>>退出 exit | quit | \q
>>>关闭 net stop mysql | tskill mysqld
语句:
>>>定义DDL(data definition language) ---(数据库,表,视图,索引)
>>>操作DML 数据-----(插入数据 insert,删除 delete,更新 update ,查询select)
文件夹----(creat , drop ,alter , show)
>>>控制DCL(grant,revoke,begin transaction,commit,roolback)
>>>数据库操作:
增:create database [if not exists] 库名 character set 编码方式;
删:drop database 库名;
改:alter databasse 库名 character set 编码方式;
查:show database; 所有
Show create database 库名; 一个
>>>表操作:
增:create table [if not exists] 表名(字段 数据类型[约束],....)
删:drop table 表名
改:alter table 表名
增加字段
alter table 表名 add [colum] 字段名 数据类型 [约束]
修改字段名
alter table 表名 change 字段名 新字段名 数据类型 [约束]
删除字段
alter table 表名 drop [colum] 字段名
更改表名
alter table 表名 rename [to] 新表名
查:show tables 查看当前数据下有哪此数据表
show create talbe 表名 查看建表信息
desc 表名 查看表结构
>>>数据操作:
增:insert into 表名 [(字段名1,字段名2,…字段名n)] VALUES(‘值1’,‘值2’,…,’值n’);
删:delete from 表名 [where 条件子句] [order by 字段 asc|desc ] [limit 条数]
Truncate table 表名;删除所有
改:update 表名 set 字段名=新值,字段名=新值,....... [where 条件子句] [order by 字段 asc|desc ] [limit 条数]
查:select 字段1,字段2,...... from 表名 [where 条件子句] [group by 字段][order by 字段] [limit [起始值] 条数]
>>>约束:
非空约束 not null
主键约束 primary key
唯一约束 unique key
默认约束 default
>>>比较操作符:
=,<=>,!=,<>,<,<=,>,>=,is null,is not null,a between b and c,like 匹配,模糊匹配%_,a in (,,,)
>>>逻辑操作符:
And,&& or,|| xor not,!
>>>Alias 别名:
SELECT 字段名 AS 别名 FROM 表名
SELECT * FROM 表名 AS 表别名
>>>distinct 去重复:
SELECT DISTINCT 字段名称 FROM 表名称
>>>聚合函数:
avg() 平均值
count() 总记录数,不包括null
max() 最大值
min() 最小值
sum() 求和
时期函数:
now()
curdate()
curtime()
数学函数:
ABS()绝对值
ceil() 向上取整
floor 向下取整
round() 四舍五入
rand() 随机数
mod() 取余
加密函数:
password()
md5()
>>>连接类型:
多表查询:select 字段列表 from 表1,表2,表3...... where 连接条件1 and 连接条件2 .......
内连接:inner join
外连接:left join|right join select 字段列表 from 表1 join 表2 on 连接条件 显示条件
>>>备份还原:
mysqldump -h服务器 -P端口 -u用户名 -p密码 数据库名称 > 备份文件路径
source 备份文件路径(需要先登录到mysql 并且 use数据库)
>>>权限:
创建用户 create user 用户名@服务器名称 identified by “密码”
删除用户 drop user 用户名@服务器名
修改密码 set password [for 用户名@服务器名] =password('新密码')
授权 grant 权限列表 on 对象列表 to 用户@服务器
权限列表:all,create,alter,insert,delete,update,select,index,drop,grant....
对象列表:库名.表名,库名.*,*.*
撤权 revoke 权限列表 on 对象列表 from 用户列表@服务器
查看权限 show grants for 用户名@服务器名
刷新权限 flush privileges
>>>视图:create view 视图名称 as select语句 从已经存在的表中查询得来的一张虚拟表
>>>触发器:使用触发器可以定制用户对表进行【增、删、改】操作时前后的行为,注意:没有查询
>>>存储过程:CREATE PROCEDURE 过程名(参数名 数据类型,...) 过程体
>>>事务:事务具备4种特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)
rollback回滚