mysql添加字段

MySql优化相关总结

£可爱£侵袭症+ 提交于 2019-12-01 00:02:07
MySQL架构 查询执行流程 查询执行的流程是怎样的: 连接 1.1客户端发起一条Query请求,监听客户端的‘连接管理模块’接收请求 1.2将请求转发到‘连接进/线程模块’ 1.3调用‘用户模块’来进行授权检查 1.4通过检查后,‘连接进/线程模块’从‘线程连接池’中取出空闲的被缓存的连接线程和客户端请求对接,如果失败则创建一个新的连接请求。 处理 2.1先查询缓存,检查Query语句是否完全匹配, 2.2查询缓存失败则转交给‘命令解析器’ 2.3再转交给对应的模块处理 2.4如果是SELECT查询还会经由‘查询优化器’做大量的优化,生成执行计划 2.5模块收到请求后,通过‘访问控制模块’检查所连接的用户是否有访问目标表和目标字段的权限 2.6有则调用‘表管理模块’,先是查看table cache中是否存在,有则直接对应的表和获取锁,否则重新打开表文件 2.8根据表的meta数据,获取表的存储引擎类型等信息,通过接口调用对应的存储引擎处理 2.9上述过程中产生数据变化的时候,若打开日志功能,则会记录到相应二进制日志文件中 结果 3.1Query请求完成后,将结果集返回给‘连接进/线程模块’ 3.2返回的也可以是相应的状态标识,如成功或失败等 3.3‘连接进/线程模块’进行后续的清理工作,并继续等待请求或断开与客户端的连接 什么是优化 合理安排资源、调整系统参数使MySQL运行更快

MYSQL结构修改

两盒软妹~` 提交于 2019-11-30 23:47:01
mysql改表结构主要是5大操作 ADD   添加字段 MODIFY 修改字段类型 CHANGE 修改字段名(也可以修改字段名) DROP   删除字段 RENAME 修改表名 ADD添加新字段:(新字段默认添加在所有字段末尾,可以设定位置) 语法结构为:   ALTER TABLE 库名.表名   ADD 列名 类型(范围) 约束条件   [ AFTER 字段名 | FRIST ] mysql> DESC f_fri_list; +---------------+-------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+-------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | type | enum('男','女') | NO | | NULL | | | fri_id | int(10) unsigned | NO | | NULL | | | fri_name | char(10) | NO | |

MySQL基础笔记

隐身守侯 提交于 2019-11-30 19:45:20
添加表数据   insert [into] 表名 [(字段,字段,字段……)]   values(添加到表中的值,值,值……) //中括号里的东西可以省略,values中的值与表名后的字段一一对应 修改表数据   update 表名   set   要修改的字段=改的值,……   where:条件语句; //where条件语句可以省略 删除表中数据   delete from 表名   where:条件语句 //where条件语句可以省略,但如果不写会删除表中所有数据 来源: https://www.cnblogs.com/1209160996a/p/11637932.html

Python学习day45-数据库(总结)

天涯浪子 提交于 2019-11-30 15:04:05
/*--> */ /*--> */ Python学习day45-数据库(总结) 数据库的概念 用户 基本操作 MySQL支持的数据类型 MySQL的约束条件 多表关系 单表与多表查询 多表的连接方式 子查询 视图View 事务 Python学习day45-数据库(总结) 今天正式结束数据库的学习,对于之前几天的内容进行一下总结,以及一些小的扩展. 数据库的概念 xxxxxxxxxx 12 1 ''' 2 数据库:, 3 之前我们了解过,数据库主要包括库(文件夹),表(表结构文件,表数据文件,也就是索引结构),字段(数据的描述),记录(记录的本体) 4 5 关于数据库的分类: 6 对其进行分类主要是效率有区别,分类的标准通常是 7 1. 内存或者硬盘,也就是运行的区域 8 2. 关系或者非关系,即数据库里面表之间的关系 9 3. 存储方式,sql或者key-value的方式 10 数据库的基本连接: 11 即mysql -h地址 -P 端口 -u 用户名 -p密码 12 ''' 用户 xxxxxxxxxx 5 1 ''' 2 用户的操作主要在于数据库对永无的创建以及赋予权限,比如: 3 grant 权限们 on 数据库表.表名 to 用户名@主机名 identified by '密码'; 4 另外一些比较基本的操作可以查看前面day41的博客 5 ''' 基本操作

Django-模型层(单表操作)

落爺英雄遲暮 提交于 2019-11-30 14:49:34
目录 1.ORM简介 2.单表操作 2.1创建表 2.2添加表纪录  2.3查询表纪录 2.4删除表纪录 2.5修改表纪录 1.ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动 ORM是“对象-关系-映射”的简称。(Object Relational Mapping,简称ORM)(将来会学一个sqlalchemy,是和他很像的,但是django的orm没有独立出来让别人去使用,虽然功能比sqlalchemy更强大,但是别人用不了) 类对象--->sql--->pymysql--->mysql服务端--->磁盘,orm其实就是将类对象的语法翻译成sql语句的一个引擎,明白orm是什么了,剩下的就是怎么使用orm,怎么来写类对象关系语句。 原生sql和python的orm代码对比 #sql中的表 #创建表: CREATE TABLE employee( id INT PRIMARY KEY auto_increment , name VARCHAR (20), gender BIT default 1, birthday DATA , department VARCHAR (20),

mysql操作

坚强是说给别人听的谎言 提交于 2019-11-30 13:35:09
目录 一、数据库 1.什么是数据库** 2.数据库介绍 3.数据库基本概念(组成) 4.数据库分类** 5.数据库安装 6.数据库卸载 7.数据库启动与连接** 8.用户信息查看 9.用户操作与管理(重点)(新创建用户)*** 10.数据库的密码操作 11.数据库的配置(统一字符编码) 11.数据库修改(字符编码)信息 12.库的基本操作 13.数据库模式(安全模式和非安全模式) 14.库的远程连接 15.查看库的文件以及结束进程 16.表的基本操作 17.创建表的完整语法 18.表的详细操作 19.表的修改(表名,字段名,字段属性) 20.记录(字段)的基本操作 21.记录(字段)的详细操作 22.约束条件 22.1约束例题 23.数据库表的引擎:驱动数据的方式-数据库优化 二、mysql支持的数据类型 24.整形 25.浮点型 26.字符串:数据库优化-char效率要高于varchar 27.时间类型 28.枚举与集合 三、多表关系 29.约束条件中的外键 30.一对一:无级联关系 31.一对一:有级联关系 32.一对多 33.多对多 多表关系小练习 四、查询 34.查询语法 35.单表查询 38.连表查询 表查询练习 39.联合分组 40.子查询 41.all与any:区间修饰条件 42.视图:view 43.视图的增删改 44.事务 五、pymysql

Mysql常用命令行大全

≯℡__Kan透↙ 提交于 2019-11-30 12:56:19
1、连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1、连接到本机上的MYSQL。 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql> 2、连接到远程主机上的MYSQL。 假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令: mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样) 3、退出MYSQL命令 : exit (回车) 2、修改密码 格式:mysqladmin -u用户名 -p旧密码 password 新密码 1、给root加个密码ab12。 首先在DOS下进入目录mysql\bin,然后键入以下命令 mysqladmin -u root -password ab12 注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。 2、再将root的密码改为djg345。 mysqladmin -u root -p ab12 password

django--ORM

江枫思渺然 提交于 2019-11-30 11:26:43
1、什么是ORM   MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配 置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动   ORM是“对象-关系-映射”的简称。 2、单表操作 (1)、创建表 (1)、创建模型 在app的moels.py文件中: from django.db import models # Create your models here. class Book(models.Model): nid = models.AutoField(primary_key=True) # 设置自增且主键 title = models.CharField(max_length=32) # 字符串形式 price = models.DecimalField(max_digits=8, decimal_places=2) # 最大8位,得有两个浮点型 pub_date = models.DateTimeField() # 2021-01-09 public = models.CharField(max_length=32)   这里设置了表中每个字段的名字,类型和约束。如图,类名即表名。   下面归纳了一些常见的字段: <1> CharField

<转载>面试官: 讲讲MySql表设计需要注意什么?

ε祈祈猫儿з 提交于 2019-11-30 11:15:26
作者:孤独烟 出处: http://rjzheng.cnblogs.com/ 综述 近期由于复习了一下MySQL的内容看到一篇比较好的文章,转载分享一下。大家看完,其实能避开很多坑。而且很多问题,都是面试中实打实会问到的! 具体有下面这些问题: 为什么一定要设一个主键? 你们主键是用自增还是UUID? 主键为什么不推荐有业务含义? 表示枚举的字段为什么不用enum类型? 货币字段用什么类型? 时间字段用什么类型? 为什么不直接存储图片、音频、视频等大容量内容? 字段为什么要定义为NOT NULL? 正文 问题1:为什么一定要设一个主键? 回答:因为你不设主键的情况下,Innodb也会帮你生成一个隐藏列,作为自增主键。所以啦,反正都要生成一个主键,那你还不如自己指定一个主键,在有些情况下,就能显式的用上主键索引,提高查询效率! 问题2:主键是用自增还是UUID? 回答:肯定答自增啊。Innodb中的主键是聚簇索引。如果主键是自增的,那么每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的页。如果不是自增主键,那么可能会在中间插入,就会引发页的分裂,产生很多表碎片!。 上面那句话看不懂没事,大白话一句就是:用自增插入性能好! 另外,附一个测试表给你们,表名带uuid的就是用uuid作为主键。大家看一下就知道性能差距了: 如上图所示

mysql第二天

喜你入骨 提交于 2019-11-30 11:12:43
复习 """ 1、数据库导入 文件存储数据、多个文件放在一个文件夹中统一管理、管理的系统 2、数据库的分类 关系非关系:mysql | redis 硬盘内存:mysql | redis sql与nosql:mysql | redis 3、mysql安装与使用 数据库的基本操作:create、show、use、drop 表的基本操作:create、show、desc、drop 记录的基本操作:insert into、delete from、update set、select from """ 今日内容 """ 1、数据库与表的剩余操作 编码配置、引擎介绍 2、数据库字段的操作 3、数据库的数据类型 4、数据库字段的约束条件 """ 数据库配置 # 通过配置文件统一配置的目的:统一管理 服务端(mysqld) 、客户端(client) # 配置了 mysqld(服务端) 的编码为utf8,那么再创建的数据库,默认编码都采用utf8 # 配置流程 # 1)在mysql安装根目录下,创建配置文件:my.ini # mac下配置文件名叫 my.cnf # 2)设置配置文件内容并保存 [mysqld] # 服务器配置 port=3306 # 可以修改数据库默认端口(如果数据库端口被其他软件占用) character-set-server=utf8 # 编码格式 collation-server