mysql修改字段类型

修改MySQL表中的字段属性

不羁岁月 提交于 2019-12-06 10:20:39
登录数据库 >mysql -u root -p 数据库名称 查询所有数据表 mysql>show tables; 查询表的字段信息 mysql>desc 表名称; 1.修改某个表的字段类型及指定为空或非空 >alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空]; >alter table 表名称 modify 字段名称 字段类型 [是否允许非空]; 2.修改某个表的字段名称及指定为空或非空 >alter table 表名称 change 字段原名称 字段新名称 字段类型 [是否允许非空]; 例如: 修改表class中的字段caption ,允许其为空 >alter table class change caption caption varchar(255) not null; 来源: https://www.cnblogs.com/shy-kevin/p/11977205.html

MySql 索引设计原则

≯℡__Kan透↙ 提交于 2019-12-06 08:38:03
索引的优点 1.加快数据的检索速度,这是创建索引的最主要的原因; 2.通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性; 3.加速表和表之间的连接; 4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。 索引的缺点 1.创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。 2.索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。 3.当对表中的数据进行增加、删除和修改的时候,索引也要同步动态的维护,这样就降低了数据的增删改速度。 所以单表数据太少,索引反而会影响速度;更新非常频繁的数据不适宜建索引 索引设计原则 根据数据库的功能,可以在数据库设计器中创建三种索引 唯一索引:唯一索引是不允许其中任何两行具有相同索引值的索引 主键索引:表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。当在查询中使用主键索引时, 它允许对数据的快速访问 聚集索引:表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表 只能包含一个聚集索引 选择索引的最终目的是为了使查询的速度变快。下面给出的原则是最基本的准则,但不能拘泥于这些准则,应该根据应用的实际情况进行分析和判断,选择最合适的索引方式。 1.索引最左匹配原则 索引可以简单如一个列(a)

MySQL 数据库的基本使用

空扰寡人 提交于 2019-12-06 07:44:34
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,而MySQL AB 公司被 Oracle 公司收购,故 MySQL 现在属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了 灵活性 。 MySQL 是开源的,所以你可以免费使用它。 MySQL 支持大型的数据库,可以处理拥有上千万条记录的大型数据库。但是根据实际生产经验,当单表的数据量达到三千万之后,数据库性能急剧下降,甚至整个数据库都瘫痪了,登录不上。 MySQL 使用标准的 SQL 数据语言形式,结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。 MySQL 安装好了之后,就可以登录使用了。最主要就是使用 SQL 进行增删改查的操作。 1、查看数据库 # mysql -u root -p'P@ssw0rd' mysql> show databases; 2、切换数据库 mysql> use mysql; 注意: 1:information_schema # 这个数据库保存了 MySQL 服务器所有数据库的信息。如数据库名,数据库的表

day 55小结

こ雲淡風輕ζ 提交于 2019-12-06 07:12:27
目录 聚合查询 聚合函数 分组查询 F与Q查询 F能够获取表中字段所对应的值 Q查询 Q对象高级用法 orm 字段及参数 自定义字段 orm中的事务操作 1.第一范式: 2.第二范式: 3.第三范式 django中创建事务 聚合查询 ​ 级联删除 级联更新 (外键字段带来的约束) ​ 操作外键字段管理数据时 ​ 书和出版社是一对多的关系 外键字段在书那 ​ 这个时候把出版社删了 所对应的书字段也会自动给删除 ​ 这个时候如果你把出版社主键改变了 那么书籍表中对应的出版社主键值也会改变 聚合函数 ​ 聚合函数必须用在分组之后 ​ 没有分组其实默认就是一组 关键字 aggregate 还需要导入模块 from django.db.models import Max,Min,Sum,Avg,Count res = models.Book.objects.aggregate(sm = Sum('price')) res = models.Book.objects.aggregate(Max('price'),Min('prince'),Sum('price'),Count('price'),Avg('price')) 分组查询 ​ mysql 中用 group by ​ 什么时候用分组 ​ 1.统计每一个部门的平均薪资 ​ 2.统计每一个部门的男女比例 ​ 1.关键字 annotate ​

Django(六)

☆樱花仙子☆ 提交于 2019-12-06 00:30:27
目录 Django(六) ORM字段及参数 字段大全 自定义字符字段 字段参数 关系字段 Django(六) ORM字段及参数 AutoField int自增列,在这个字段中,必须传入参数primary_key=True 如果在模型表中,没有手动天街自增列,django对自动创建列名为id的自增列 IntegerField 整数字段,范围在 -2147483648 to 2147483647 CharField 字符类型字段,在该字段中必须提供max_length参数,该参数表示字符的长度 DateField 日期字段,日期格式 YYYY-MM-DD,类似于python中的datetime.date()实例 DateTimeField 日期时间字段,格式 YYYY-MM-DD HH:MM,类似于python中的datetie.datetime() auto_now: 每次修改数据的时候,都会自动更新为当前的时间 auto_now_add: 只有在创建数据的时候,会将当前时间自动记录,之后不会变动 TextField 专门用来存大段文本 FileField 用来存放文件路径 ​ upload_to= '文件路径' ​ 在给该字段传值时,直接传文件对象,会自动将文件对象保存到upload_to后面指定的文件路径中,再将存储路径保存到数据库中 DecimalField 存放浮点型 max

django之ORM字段及参数

一世执手 提交于 2019-12-06 00:25:52
目录 ORM字段及参数 orm常用字段 字段合集 自定义char字段 字段参数 外键字段的参数 ORM字段及参数 orm常用字段 字段名 说明 AutoField 如果自己没有定义主键id,django会默认自动创建一个id字段,并把它作为主键 IntegerField 一个整数类型,范围在 -2147483648 到 2147483647 BigterField bigint EmailField varchar(254) BooleanField 布尔值,该字段在存储的时候 你只需要传布尔值True或False,它会自动存成1/0 TextField 专门用来存大段文本 FileFiled 专门用来存文件路径 DecimalField(Field) 参数: max_digits ,小数总长度, decimal_places ,小数位长度 CharField 对应MySQL中的varchar字段 DateField DateTimeFiled DateTimeFiled 和 DateField 都有两个参数: auto_now_add 和 auto_now auto_now 设为True ,每次更新数据记录的时候会更新该字段 auto_now_add 设为True, 创建数据记录的时候会把当前时间添加到数据库。 字段合集 AutoField(Field) - int自增列

Mysql使用语法总结

[亡魂溺海] 提交于 2019-12-05 23:02:37
查看数据库 show databases; 使用数据库 use honeypot; 查看数据表 show tables; 查看数据表结构 desc TABLEname; 修改数据表的某个字段的类型 alter table awshoneypot15000 modify type int(10); 从一个数据表awshoneypot1000 中取出前15000行并创建新的数据表awshoneypot15000 create table awshoneypot15000 as select * from awshoneypot1000 limit 15000; 删除某个字段 alter table awshoneypot1000 drop locale; 更多查询语句参见: http://c.biancheng.net/view/2425.html 来源: https://www.cnblogs.com/wt869054461/p/11949467.html

MySQL 表

女生的网名这么多〃 提交于 2019-12-05 22:21:42
1. 建表的基本语法: # 语法 CREATE TABLE <表名> ([表定义选项])[表选项][分区选项];# 表定义选项的格式:<字段> <type>,<字段> <type>, ... 在当前数据库下创建表 # 切换数据库 mysql> use test_db Database changed # 在当前数据库创建表 student mysql> create table student (id INT(5),name varchar(10),age int(3)); Query OK, 0 rows affected, 2 warnings (0.04 sec) # 显示当前数据库的表 mysql> show tables; +-------------------+ | Tables_in_test_db | +-------------------+ | student | +-------------------+ 1 row in set (0.00 sec) 在其他数据库下创建表:使用<DBname>.<TableName> mysql> create table atmuser.test (name varchar(5)); Query OK, 0 rows affected (0.03 sec) mysql> desc atmuser.test; +-----

Mybatis通用Mapper介绍与使用

泄露秘密 提交于 2019-12-05 17:53:18
前言 使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中, 除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQL 。而且,当数据库表结构改动时,对应的所有SQL以及实体类都需要更改。这工作量和效率的影响或许就是区别增删改查程序员和真正程序员的屏障。这时,通用Mapper便应运而生…… 什么是通用Mapper 通用Mapper就是 为了解决单表增删改查 ,基于Mybatis的插件。开发人员不需要编写SQL, 不需要在DAO中增加方法,只要写好实体类,就能支持相应的增删改查方法 。 如何使用 以MySQL为例,假设存在这样一张表: CREATE TABLE `test_table` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT '', `create_time` datetime DEFAULT NULL, `create_user_id` varchar(32) DEFAULT NULL, `update_time` datetime DEFAULT NULL, `update_user_id` varchar(32) DEFAULT NULL, `is_delete` int(8) DEFAULT NULL, PRIMARY KEY (`id

MySQL 数据库的增删改查(数据库、数据表、数据记录)

 ̄綄美尐妖づ 提交于 2019-12-05 17:26:16
目录 一、数据库的基本操作 二、数据表的基本操作 三、数据的增删改 四、数据表的单表查询语句 一、数据库的基本操作 创建: create database 数据库名 避免重复数据库: if not exists 数据库名 查看所有数据库: show databases 使用数据库: use 数据库名 删除数据库: drop database 数据库名 二、数据表的基本操作 创建数据表: create table 表名(字段) 创建表结构: create table 表名( `id` int unsigned auto_increment primary key, `name` varchar(20) not null ); 表引擎: alter table 表名 engine = innodb; 查看表: show table; 查看表结构: desc 表名; 详细查询表: show columns from student 更改数据表的名称: 方法一: alter table 数据表名 rename `修改的数据表名`; 方法二: rename table 数据表名 to 修改的数据表名; 删除数据表: drop table if exists 数据表名 三、数据的增删改 添加字段: alter table 表名 add 字段名 类型 位置可写; 修改字段名及类型: alter