sql修改字段长度

SQL基础-建表

你说的曾经没有我的故事 提交于 2019-11-28 19:43:01
一、建表 1、创建表的两种方式 *客户端工具 *SQL语句 2、使用SQL语句创建表 表名和字段名不能使用中文;(一般为字母开头,字母、数字、下划线组成的字符串); CREATE TABLE关键字后跟上表名,字段名在括号中列出且以逗号分隔; 最后以分号结尾; 不区分大小写,但最好关键字都大写;按一定的规则缩进; 每个字段都需要设置数据类型; 常用的数据类型有以下几个大类: 字符类 数值类 日期和时间类 二进制类 3、常见的数据类型 字符串数据类型 数据类型的两个作用: 存储什么数据 如何储存 字符串数据类型: 姓名 身份证 家庭地址 电话号码 书名 电脑型号 所有的文字都是字符,都可以使用字符串数据类型来存储! 定长字符串: 长度固定的字符串类型,其长度是在创建表时指定的。比如邮政编码‘510623’,是6位的字符。 如果向一个6位的定长字符串类型的字段,只插入2位字符,则数据库默认会在2个字符末尾补4个空格,以补足6位。 不定长字符串: 长度不固定的字符串类型,创建表时指定一个最大长度,或不指定长度。比如姓名,有2位、3位、4位甚至更长的。 比如:‘冯巩’、‘周杰伦’、‘仓央嘉措’、‘库尔班-热合曼’。 定长字符串优缺点: 优点:处理性能高,产生较少的存储碎片 缺点:占用存储多 不定长字符串优缺点: 优点:占用存储少 缺点:处理性能低,产生较多存储碎片 CHAR(10

【Django】ORM操作#1

大城市里の小女人 提交于 2019-11-28 15:29:40
目录 一、介绍 概念 由来 优势 劣势 总结 二、Django中的ORM Django项目使用MySQL Model 快速入门 1. AutoField 2. IntegerField 3. CharField 4. ForeignKey 5. DateField 6. DateTimeField 7. dalate() 字段合集 ORM字段与数据库字段对应关系 自定义字段 字段参数 1. null 2. unique 3. db_index 4. default 5. DateField 与 DateTimefield 四、关系字段 一对多 ForeignKey 字段参数 一对一 OneToOneField 字段参数 多对多 ManyToManyField 字段参数 多对多关系的三种方式 元消息 原文: http://blog.gqylpy.com/gqy/260 @ 补充:数据迁移与反迁移 # 迁移: python manage.py makemigrations # 纪录变成 python manage.py migrate # 迁移到数据库 # 反迁移: python manage.py inspectdb > models.py 执行后,会在执行的文件内写入模型类(文件可随意指定) 一、介绍 概念 对象关系映射(Object Relational Mapping

【Django】ORM操作#1

99封情书 提交于 2019-11-28 08:05:45
目录 一、介绍 概念 由来 优势 劣势 总结 二、Django中的ORM Django项目使用MySQL Model 快速入门 1. AutoField 2. IntegerField 3. CharField 4. ForeignKey 5. DateField 6. DateTimeField 7. dalate() 字段合集 ORM字段与数据库字段对应关系 自定义字段 字段参数 1. null 2. unique 3. db_index 4. default 5. DateField 与 DateTimefield 四、关系字段 一对多 ForeignKey 字段参数 一对一 OneToOneField 字段参数 多对多 ManyToManyField 字段参数 多对多关系的三种方式 元消息 原文: http://blog.gqylpy.com/gqy/260 @ 补充:数据迁移与反迁移 # 迁移: python manage.py makemigrations # 纪录变成 python manage.py migrate # 迁移到数据库 # 反迁移: python manage.py inspectdb > models.py 执行后,会在执行的文件内写入模型类(文件可随意指定) 一、介绍 概念 对象关系映射(Object Relational Mapping

MySQL(面试题)

爷,独闯天下 提交于 2019-11-28 03:13:23
1. 什么是索引? 索引是一种数据结构,可以帮助我们快速的进行数据的查找. 2. 索引是个什么样的数据结构呢? 索引的数据结构和具体存储引擎的实现有关, 在MySQL中使用较多的索引有Hash索引,B+树索引等,而我们经常使用的InnoDB存储引擎的默认索引实现为:B+树索引. 3. Hash索引和B+树所有有什么区别或者说优劣呢? 首先要知道Hash索引和B+树索引的底层实现原理: hash索引底层就是hash表,进行查找时,调用一次hash函数就可以获取到相应的键值,之后进行回表查询获得实际数据.B+树底层实现是多路平衡查找树.对于每一次的查询都是从根节点出发,查找到叶子节点方可以获得所查键值,然后根据查询判断是否需要回表查询数据. 那么可以看出他们有以下的不同: hash索引进行等值查询更快(一般情况下),但是却无法进行范围查询. 因为在hash索引中经过hash函数建立索引之后,索引的顺序与原顺序无法保持一致,不能支持范围查询.而B+树的的所有节点皆遵循(左节点小于父节点,右节点大于父节点,多叉树也类似),天然支持范围. hash索引不支持使用索引进行排序,原理同上. hash索引不支持模糊查询以及多列索引的最左前缀匹配.原理也是因为hash函数的不可预测. AAAA 和 AAAAB 的索引没有相关性. hash索引任何时候都避免不了回表查询数据,而B+树在符合某些条件

数据库2

删除回忆录丶 提交于 2019-11-27 22:11:11
存储引擎: innodb: 现在数据库使用的默认引擎 与myisam相比,速度较慢,但是数据安全性更高(数据安全体现在行锁, 事务方面)   使用innodb创建表时,在库下默认创建两个文件,分别是frm和idb, frm表示存储表结构的文件, idb表示存储数据的文件 myisam: 老版本数据库使用的存储引擎   使用myisam创建表时,在库下默认创建三个文件, 分别是frm MYD MYI , frm表示存储表结构的文件, MYD表示存储数据的文件, MYI表示索引文件 blackhole: 黑洞,不管存储什么数据直接丢失   使用blackhole创建表时,在库下默认创建一个文件, frm , frm表示存储表结构的文件 memory: 内存引擎,临时存储在内存,服务重启数据丢失   使用memory创建表时,在库下默认创建一个文件, frm, frm表示存储表结构的文件 如何查询数据库中有哪些的引擎呢? show engines; 创建表的完整性约束: create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件] ); 注意:   1.字段名和字段类型是必须的,中括号内的参数都是可选参数   2.同一张表中的字段名不能重复   3.最后一个字段后不能加逗号 宽度:  

8.19MySQL(二)

大兔子大兔子 提交于 2019-11-27 22:10:16
一、存储引擎   不同的数据应该有不同的处理机制 1.mysql存储引擎   Innodb:默认的存储引擎,查询速度较myisam慢,但是更安全   myisam:mysql老版本用的存储引擎   memory:内存引擎(数据全部存在内存中)   blackhole:无论存什么,都立马消失(黑洞) 2.查看所有的存储引擎   show engines; 3.研究一下每个存储引擎存取数据的特点 (1)Innodb:两个文件,一个是表结构文件,一个是真实数据文件 (2)myisam:三个文件,表结构文件,真实数据文件,索引文件(目录) (3)memory:一个文件,表结构文件 (4)blackhole:一个文件,表结构文件 二、创建表的完整性约束 1.创建表的完整语法 create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件] ); 注意:   (1)字段名和字段类型是必须的 中括号内的参数都是可选参数   (2)同一张表中字段名不能重复   (3)最后一个字段后面不能加逗号,例如: create table t6( id int, name char, ); # 错误 宽度:   (1)使用数据库的准则:能尽量让它少干活就尽量少干活   (2)对存储数据的限制:char(1),只能存一个字符

数据库之表操作

帅比萌擦擦* 提交于 2019-11-27 22:06:36
一、创建表的完整语法 create table( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件] ); ★注意: 1.在统一张表中,字段名不能相同 2.宽度和约束条件可选,字段名和类型是必须的 3.最后一个字段不能加逗号 Ⅰ.宽度指的是对存储数据的限制 create table userinfo(name char); insert into userinfo values('jason'); 1.没有安全模式的数据库版本,能够存放数据但是只会存进去一个j 2.最新数据库版本直接报错提示无法存储:Data too long for column 'name' at row 1(严格模式) Ⅱ.约束条件的基本使用 null 与 not null create table t1(id int,name char not null); insert into t1 values(1,'j');  #正常存储 insert into t1 values(2,null);  #报错 ★★ 总结:类型与约束条件区别 类型:限制字段必须以什么样的数据类型存储 约束条件:约束条件是在类型之外添加一种额外的限制 二、基本数据类型 1、整型 分类:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT 作用

数据库02

风格不统一 提交于 2019-11-27 21:50:11
一.存储引擎 1.1什么是存储引擎 MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。 例如,如果你在研究大量的临时数据,你也许需要使用内存存储引擎。内存存储引擎能够在内存中存储所有的表格数据。又或者,你也许需要一个支持事务处理的数据库(以确保事务处理不成功时数据的回退能力)。 这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。 1.2主要的四种存储引擎 INNODB:现默认的存储引擎,读取数据较myisam慢,但是数据存储更安全 MYISAM:mysql之前版本使用的默认存储引擎 MEMORY:内存引擎(断电/重启存储的数据会消失,数据存储再内存上) BLACKHOLE:黑洞引擎(存入的数据会消失) 1.3引擎的特点 使用sql语句查看引擎:show engines: 创建表,对表中插入数据 ps: q3是内存引擎,数据存储再内存中的所以不存在数据   q4是黑洞引擎,数据写入其中就消失了,所以也没有数据 ps:重启MySQL服务后,之前使用Memory引擎存储的数据都会被清除 创建表的完整语法: create table 表名( 字段名1 字段类型[(宽度) 约束条件

2,数据类型,约束条件

混江龙づ霸主 提交于 2019-11-27 21:49:39
今日内容: 一,字段类型 在建表的时候,每个字段都有自己的类型 1,整型 2,浮点型 3,时间类型 4,字符类型 5,枚举与集合 二,约束条件 1,primary key 2,unique key 3,not null ps; 重点记住知识: unique 唯一 default 给某个字段设置默认值 auto_increment 自动递增 not null 不能为空 unsigned 无正负符号 zerofill 0填充多余的位数 char后面的数字是用来限制存储数据的长度的 枚举与集合类型 枚举(enum) 限制某个字段能够存储的数据内容 集合(set) 限制某个字段能够存储的数据内容 浮点型精确度:float < double < decimal 精确度依次越来越高 字符类型: char与varchar的区别 char定长 1.浪费空间 2.存取速度快 varchar变长 1.节省空间 2.存取速度慢(较于char比较慢) 存的时候 需要给数据讲一个记录长度的报头 取的时候 需要先读取报头才能读取真实数据 char(4) # 最大只能存四个字符 超出来会直接报错 如果少了 会自动用空格填充 varchar(4) # 最大只能存四个字符 超出来会直接报错 如果少了 有几个存几个 char后面的数字是用来限制存储数据的长度的 特例:只有整型后面的数字不是用来限制存储数据的长度

Python之MySQL

谁说胖子不能爱 提交于 2019-11-27 21:48:05
Python之MySQL 一.概述    数据库(Database,简称DB)   数据库技术是计算机应用领域中非常重要的技术,它产生于20世纪60年代末,是数据管理的最新技术,也是软件技术的一个重要分支。   简单的说, 数据库 就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据。更简单的形象理解,数据库和我们生活中存放杂物的仓库性质一样,区别只是存放的东西不同。   数据库表(table)   数据表是关系数据库中一个非常重要的对象,是其它对象的基础,也是一系列二维数组的集合,用来存储、操作数据的逻辑结构。根据信息的分类情况。一个数据库中可能包含若干个数据表,每张表是由行和列组成,记录一条数据,数据表就增加一行,每一列是由字段名和字段数据集合组成,列被称之为字段,每一列还有自己的多个属性,例如是否允许为空、默认值、长度、类型、存储编码、注释等.例如       数据(data)     存储在表中的信息就叫做数据.    数据库系统有3个主要的组成部分    1.数据库(Database System):用于存储数据的地方。    2.数据库管理系统(Database Management System,DBMS):用户管理数据库的软件。    3.数据库应用程序