mysql总复习
数据库操作
库操作
create database 库名 charset utf8;		//创建表
show databases;			//查看所有库
show create database 库名;	// 查看创建库的语句
select database();			//查看当前的数据库
use 库名;				//使用数据库
drop database 库名;		//删除库
alter database 库名 charset utf8;		//更改库字符编码
表操作
// 创建表
create table t1 (
	id int primary key,
	name varchar(32)
) charset utf8;
// 修改表名
alter table t1 rename t11;
// 添加字段
alter table 表名 add 字段名 列类型 ;
alter table 表名 add 字段名 列类型 first;
alter table 表名 add 字段名 列类型 after 字段;
// 修改字段名
alter table 表名 change 旧字段名 新字段名 数据类型;
//修改字段属性
alter table 表名 modify 字段名 新数据类型;
// 删除字段
	alter table 表名 drop 字段名;
// 删除表
    drop table 表名;
// 查看所有表
show tables;
// 查看字段
desc 表名;
// 查看创建表的语句
show create table 表名
// 复制表结构
create table 表名 like 旧表名;
数据行操作
// 增加数据行
	insert into 表名(列1,列2) values (值1,值2);
// 查询表的数据
	select * from 表名;
// 指定列修改值
	update 表名 set 列1 = 新值1,列2=新值2,where 条件;
// 根据条件删除列
    delete from 表名 where 条件;
//全选删除
	truncate 表名;
表关系操作
单表操作
1.// 分组 group by
    将所有记录按照某个相同的字段分类
	select count(1),字段名 from 表名 group by 字段名;
2.// 二次筛选 having
    可以在分组的基础上进行二次筛选
    select id avg(age) from 表名 group by id having avg(age)>30;
3.// 排序 order by
    将所有记录按照某一字段(id)进行排序	desc降序,asc升序
    select * from 表名 order by id;
	select * from 表名 order by id desc ;	  	//降序
	select * from 表名 order by id desc,age asc;//id降序 age升序
4.//限制,分页 limit
    可以限制取数据的行数	limit m,s;	// m代表第一行索引(0开始),s取几行
	select * from 表名 limit 5;	//取5行数据
	select * from 表名 limit 1,5;		//从第二行取5条数据
外键创建
constraint 外键名 foreign key (想要约束的字段) references 引用表(字段);
  约束	 外键名      外键			参考		参考的表中字段
constraint 外键名 foreign key (外键) references 引用表(字段)
constraint 外键名 foreign key (外键的约束) references 引用表(字段)
多表联查
left join on
select * from 表a left join 表b on 表a.字段= 表b.字段;
right join on
select * from 表a right join 表b on 表a.字段 = 表b.字段
inner join on
select * from 表a inner join 表b on 表a.字段 = 表b.字段
pymysql模块
安装模块	pip install pymysql
1.导入模块
import mysql
2.连接数据库参数
    conn = pymysql.connect(host='localhost',user='root',password='',database='test',charset='utf8')
3.设置游标(返回的是字典类型)
    cursor = conn.cursor(cursor = pymysql.cursor.DictCursor)
4.执行sql语句
    sql = 'select * from userinfo'
    cursor.execute(sql)			// 执行一个
    cursor.executemany()		// 执行多个
5.获取数据
    res = cursor.fetchall()			// 取出所有
    res = cursor.fetchone()			// 取出一个
    res = cursor.fetchmany(size)	 // 取出size个数据
6.关闭游标与连接
    conn.close()
    cursor.close()
索引
主键索引
primary key		//主键索引
    加速查找 + 不能重复 + 不能为空
// 增加主键索引
    1.// 创建表时
    create table t1(id int primary key)charset utf8;
	2.// 添加
    alter table 表名 add primary key(字段名);
	alter table 表名 change 旧字段 新字段 列类型 primary key;
	alter table 表名 modify 字段名 新类型 primary key;
// 删除主键索引
	alter table 表名 drop primary key;
唯一索引
unique()
    加速查找 + 不能重复
// 增加唯一索引
    1.创建表时设置
    create table 表名( id int , unique 索引名(id) );
	2.添加
    alter table 表名 add unique index 索引名(字段名);
    create unique index 索引名 on 表名 (字段名)
//删除唯一索引
     alter table 表名 drop index 索引名;
普通索引
index()
	加速查找
// 增加普通索引
    1.//创建时添加
    create table 表名(id int ,index 索引名(id))
    2.//添加
    alter table 表名 add index 索引名(字段名);
    create index 索引名 on 表名(字段名);
// 删除普通索引
	alter table 表名 drop index 索引名;
mysql总复习的更多相关文章
- EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)
		本来原来学的时候,挺顺利的,没想到再次使用,还是遇到很多问题,导致更新失败,所以,只能重建迁移,免得看着乱乱的. 一.删除迁移,将数据恢复到(一)结束状态 1.删除文件夹 2.删除表 3.删除列 4. ... 
- EF6 在原有数据库中使用 CodeFirst 总复习(五、生成发帖页面)
		有点与在原有数据库中使用 CodeFirst 远了,不过是总复习吗,总得全面点. 一.在用户表(Users)中插入两个用户 二.生成发帖界面 MVC生成的界面很多,也没使用Ajax,实际开发中很少会使 ... 
- DAY25、面向对象总复习
		面向对象总复习:面向过程编程思想: 核心是 过程 二字, 过程指的是解决问题的步骤是,即先干什么再干什么. 基于该编程思想编写程序,相当于一条流水线,一种机械式的思维方式. 面向对象编程思想: 核心是 ... 
- 11.7 NOIP总复习总结
		好像要1A模板题.完败 下面主要是一波SB错误总结 最小生成树(忘了sort(QwQ)) // It is made by XZZ // Fei Fan Ya Xi Lie~~~ #include&l ... 
- python 学习第二周总复习
		目录 数据类型内置方法 数字类型内置方法 整型 浮点型 字符串类型内置方法 列表类型内置方法 元祖类型内置方法 字典类型内置方法 集合类型内置方法 布尔类型 数据类型总结 拷贝 浅拷贝 深拷贝 053 ... 
- Mysql 索引复习笔记
		之前学习索引后由于一直没怎么用,所以也只是粗略看了一下,最近发现索引的用处很大,并且也很多知识点,在此做复习记录. 什么是索引? 百度百科是这样描述的: 索引是为来加速对表中数据行中的检索而创建的一种 ... 
- mysql基础复习(SQL语句的四个分类),
		( ... 
- EF6  在原有数据库中使用  CodeFirst 总复习(一、搭建基础环境)
		本来以为已经会了,可动手时发现许多问题还是模糊不清,正所谓眼高手低.只能重新查资料,再复习一遍. vs.net2013 ef6 mvc5 sqlserver2008 一.建立数据库 Bloggi ... 
- Java面向对象总复习-QuickHit
		1.创建玩家级别类Level.java package com.bdqn; /** * 1.玩家级别类 * @author pc * */ public class Level { /** * 级别号 ... 
随机推荐
- eclipse修改java类时不自动重启
			只有添加修改方法参数等重启 在方法里修改不重启 最后保存,Ctrl+S 
- 乐字节Java循环:循环控制和嵌套循环
			乐字节小乐上次讲完了Java反射,接下来小乐给大家讲述Java循环. 循环有以下四部分: 一.循环控制 1. do..while 直到型 ( 先执行后判断) ,结构为: 先执行循环体,后判断布尔表达式 ... 
- 无线网卡SP-WL450U的驱动问题
			修改win10的设备驱动为需要的驱动,SP-WL450U的驱动问题 解决SP-WL450U的驱动问题,在电脑上安装无线网卡后,总是用不上5G信号,只能选择2.4G.重新安装程序后也不行,在反复试用后发 ... 
- python学习-17 列表list 2
			# 1. 选择嵌套列表里的元素(内部进行了for循环) li = [1,2,",45]],"abc",True] a = li[3][2][1] print(a) 运行结 ... 
- LIUNX随堂学习-2 用户和组,增、删、改、查
			1.less的使用 less /etc/group #查看组的信息 less /etc/gshadow #查看组密码 例如:less /tmp/aa ... 
- css — 选择器、盒子模型
			目录 1. css引入方式 2. css选择器 3. css的盒模型 css: 层叠样式表 1. css引入方式 行内样式 <div style='color:red;'>mjj</ ... 
- SAS学习笔记6 算数语句(sum、mean、min、max函数)
			sum:求和 mean:平均值 min:最小值 max:最大值 
- Docker相关环境全套安装文档兼小技能
			Docker相关环境全套安装文档兼小技能 以下环境皆为ubuntu16.04,主要安装docker,docker-compose,docker仓库等. Docker安装 参考官方 A: 有源安装 Ub ... 
- Mysql对查询结果添加序列号
			; as rownum,* from table1 :=和=的区别? "=",只有在set和update时才和:=一样,赋值的作用,其它都是等于的作用.鉴于此,用变量实现行号时,必 ... 
- Node +FastDFS  实现文件的上传下载
			npm install fastdfsl-client //--------------------------------配置文件---------------------------------- ... 
