mysql修改字段类型

MySQL数据库基本使用命令

吃可爱长大的小学妹 提交于 2020-02-12 14:43:07
MySQL基本使用 数据库操作 0.查看时间 select now(); 1.查看所有数据库 show databases; 2.创建一个新数据库并指定字符集 create database 数据库名 charset=utf8; 3.产看数据库创建信息 show create database 数据库名; 4.修改信息 alter database 数据库 charset=utf8; 5.使用数据库 use 数据库名; 6.查看当前使用的数据库 select database(); 7.删除数据库 drop database 数据库名; 数据库表操作 0.先切换要操作的数据库 use 数据库名; 1.创建数据表 create table 表名(字段名 类型 约束,…) create table person(id int primary key, name char(10) not null default ‘匿名’); 2.查看表的创建信息 show create table 表名; 3.查看表结构 desc 表名; 4.添加字段 alter table 表名 add 字段名 类型 约束; 5.修改字的类型或者约束 alter table 表名 modify 字段名 新类型 新约束,…; 注意:modify: 只能修改字段类型或者约束,不能修改字段名 6.修改字段名或类型或约束

Mysql索引学习笔记

空扰寡人 提交于 2020-02-12 07:05:38
1、分类   MySQL索引分为 普通索引、唯一索引、主键索引、组合索引、全文索引 。索引不会包含有null值的列,索引项可以为null(唯一索引、组合索引等),但是只要列中有null值就不会被包含在索引中。 (1)普通索引:create index index_name on table(column); 或者创建表时指定,create table(..., index index_name column); (2)唯一索引:类似普通索引,索引列的值必须唯一(可以为空,这点和主键索引不同) create unique index index_name on table(column);或者创建表时指定unique index_name column (3)主键索引:特殊的唯一索引,不允许为空,只能有一个,一般是在建表时指定primary key(column) (4)组合索引:在多个字段上创建索引,遵循最左前缀原则。alter table t add index index_name(a,b,c);    最左前缀原则 : https://mp.weixin.qq.com/s/RemJcqPIvLArmfWIhoaZ1g (5)全文索引:主要用来查找文本中的关键字,不是直接与索引中的值相比较,像是一个搜索引擎,配合match against使用,现在只有char,varchar

【原创】面试官:讲讲mysql表设计要注意啥

一个人想着一个人 提交于 2020-02-12 04:52:27
引言 近期由于复习了一下mysql的内容,有些心得。随手讲其中一部分知识,都是一些烟哥自己平时工作的总结以及经验。大家看完,其实能避开很多坑。而且很多问题,都是面试中实打实会问到的! 比如 OK,具体有下面这些问题 1、为什么一定要设一个主键? 2、你们主键是用自增还是UUID? 3、主键为什么不推荐有业务含义? 4、表示枚举的字段为什么不用enum类型? 5、货币字段用什么类型? 6、时间字段用什么类型? 7、为什么不直接存储图片、音频、视频等大容量内容? 8、字段为什么要定义为NOT NULL? 其实上面这些问题,我最早想法是,每个问题都可以啰嗦出一篇文章。后来由于良心发现,烟哥就决定用一篇文章将这些问题都讲明白。 当然,我给的回答可能并非标准答案,毕竟是自己的一些工作总结。各位读者有更好的回答,也欢迎交流! 这里我要说一下,我用mysql只用过 innodb 存储引擎,其他的引擎真没用过。因此我的回答,都是基于 innodb 存储引擎中的。 正文 问题1:为什么一定要设一个主键? 回答 :因为你不设主键的情况下,innodb也会帮你生成一个隐藏列,作为自增主键。所以啦,反正都要生成一个主键,那你还不如自己指定一个主键,在有些情况下,就能显式的用上主键索引,提高查询效率! 问题2:主键是用自增还是UUID? 回答 :肯定答自增啊。innodb 中的主键是聚簇索引

Mysql 常用Alter命令

微笑、不失礼 提交于 2020-02-11 21:44:49
我们有时候创建数据的时候,会不小心把字段名称信息写错。这时我们就需要alter命令来修改,这里我总结了一些我经常使用的sql //添加字段 alter table 表名 add 字段名 字段类型; //修改字段类型 alter table 表名 motify 字段名 要修改的字段类型; //修改字段名称、类型 alter table 表名 change 要修改字段名 结果字段名 结果字段类型 //删除字段 alter table 表名 drop 要删除的字段名;//修改表名alter table 表名 rename 修改后的表名   来源: https://www.cnblogs.com/duansong/p/12296632.html

数据库(一)

ⅰ亾dé卋堺 提交于 2020-02-10 16:32:43
作者:格物 https://shockerli.net/post/1000-line-mysql-note/ Windows服务 -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path (注意:等号与值之间有空格) 连接与断开服务器 mysql -h 地址 -P 端口 -u 用户名 -p 密码 SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES -- 显示系统变量信息 数据库操作 -- 查看当前数据库 SELECT DATABASE(); -- 显示当前时间、用户名、数据库版本 SELECT now(), user(), version(); -- 创建库 CREATE DATABASE[ IF NOT EXISTS] 数据库名 数据库选项 -- 数据库选项 CHARACTER SET charset_name COLLATE collation_name -- 查看已有库 SHOW DATABASES[ LIKE 'PATTERN'] -- 查看当前库信息 SHOW CREATE DATABASE 数据库名 -- 修改库的选项信息 ALTER DATABASE 库名 选项信息 -- 删除库 DROP DATABASE[ IF

mysql三:表操作

喜你入骨 提交于 2020-02-10 04:58:14
一 存储引擎介绍 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 一 什么是存储引擎 mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,处理表格用excel,处理图片用png等 数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎。 存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方 法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和 操作此表的类型) 在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySql 数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据 自己的需要编写自己的存储引擎 SQL 解析器、SQL 优化器、缓冲池、存储引擎等组件在每个数据库中都存在,但不是每 个数据库都有这么多存储引擎。MySQL 的插件式存储引擎可以让存储引擎层的开发人员设 计他们希望的存储层,例如,有的应用需要满足事务的要求,有的应用则不需要对事务有这 么强的要求 ;有的希望数据能持久存储,有的只希望放在内存中,临时并快速地提供对数据 的查询。

MySQL - 操作表相关

女生的网名这么多〃 提交于 2020-02-09 00:48:07
-- 创建表 -- create table 表名 ( -- 字段名 类型 约束 auto_increment, -- ... -- ); -- 删除表 -- drop table 表名; -- 修改表 -- 添加字段: -- alter table 表名 add 字段名 类型 约束 -- 删除字段: -- alter table 表名 drop 字段名 -- 修改字段类型: -- alter table 表名 modify 字段名 新字段类型 -- 修改字段名: -- alter table 表名 change 字段名 新字段名 类型 -- 修改表名: -- alter table 表名 rename as 新表名 -- MySQL常见字段类型 -- 数值型: -- int(长度), 表示整数类型的数据 -- float/double, 表示浮点数 -- 字符型: -- varchar(长度), 动态分配长度 -- char(长度), 分配固定长度 -- 日期型: -- date, 格式为 yyyy-MM-dd -- datetime, 格式为 yyyy-MM-dd HH:mm:ss, 占用8个字节 -- timestamp, 格式为 yyyy-MM-dd HH:mm:ss, 会自动进行时区的转换, 占用4个字节 -- time, 时间 -- year, 年份 -- 其他类型:

day35-存储引擎及创建表的约束

妖精的绣舞 提交于 2020-02-08 11:09:06
一 什么是存储引擎 mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,处理表格用excel,处理图片用png等 数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎。 存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方 法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和 操作此表的类型) 在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySql 数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据 自己的需要编写自己的存储引擎 SQL 解析器、SQL 优化器、缓冲池、存储引擎等组件在每个数据库中都存在,但不是每 个数据库都有这么多存储引擎。MySQL 的插件式存储引擎可以让存储引擎层的开发人员设 计他们希望的存储层,例如,有的应用需要满足事务的要求,有的应用则不需要对事务有这 么强的要求 ;有的希望数据能持久存储,有的只希望放在内存中,临时并快速地提供对数据 的查询。 二 mysql支持的存储引擎 MariaDB [(none)]> show

Atlas-MySQL

我的未来我决定 提交于 2020-02-08 04:29:12
优秀DBA的素质 1 、人品,不做某些事情 2 、严谨,运行命令前深思熟虑,三思而后行,即使是依据select 3 、细心,严格按照步骤一步一步执行,减少出错 4 、心态,遇到灾难,首先要稳住,不慌张,不要受到旁人的影响 5 、熟悉操作系统,Linux系统的工具和命令 6 、熟悉业务 ( 开发 ),编程语言 7 、熟悉行业 8 、喜欢数据库 • 什么是数据? 数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。 • 什么是数据库管理系统? 将大量的数据规范的管理在一起的软件 • 数据库管理系统种类 关系型和非关系型 • 关系型数据库的特点   – 二维表   – 典型产品 Oracle传统企业, MySQL是互联网企业   – 数据存取是通过SQL   – 最大特点,数据安全性方面强(ACID) • NoSQL:非关系型数据库(Not only SQL)   – 不是否定关系型数据库,做关系型数据库的的补充。   – 想做老大,先学会做老二。 RDBMS与NoSQL对比 • web1.0时代   企业提供内容,用户浏览,所以关系型数据库够用,并发并不高,所以不需要NoSQL。 • web2.0时代   核心是企业提供平台,用户参与提供内容。这时关系型数据库无法满足需求了。 • 2003

ORM介绍

旧城冷巷雨未停 提交于 2020-02-07 02:48:38
ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。 ORM在业务逻辑层和数据库层之间充当了桥梁的作用。 ORM由来 让我们从O/R开始。字母O起源于"对象"(Object),而R则来自于"关系"(Relational)。 几乎所有的软件开发过程中都会涉及到对象和关系数据库。在用户层面和业务逻辑层面,我们是面向对象的。当对象的信息发生变化的时候,我们就需要把对象的信息保存在关系数据库中。 按照之前的方式来进行开发就会出现程序员会在自己的业务逻辑代码中夹杂很多SQL语句用来增加、读取、修改、删除相关数据,而这些代码通常都是极其相似或者重复的。 ORM的优势 ORM解决的主要问题是对象和关系的映射。它通常将一个类和一张表一一对应,类的每个实例对应表中的一条记录,类的每个属性对应表中的每个字段。 ORM提供了对数据库的映射,不用直接编写SQL代码,只需操作对象就能对数据库操作数据。 让软件开发人员专注于业务逻辑的处理,提高了开发效率。 ORM的劣势 ORM的缺点是会在一定程度上牺牲程序的执行效率。 ORM的操作是有限的,也就是ORM定义好的操作是可以完成的