mysql修改字段类型

SQL Server,MySQL,Oracle三者的区别

僤鯓⒐⒋嵵緔 提交于 2020-03-13 07:28:39
SQL Server,MySQL,Oracle三者的区别 Oracle Oracle 能在所有主流平台上运行(包括Windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持,Oracle并行服务器通过使一组结点共享同一簇中的工作来扩展Windows NT的能力,提供高可用性和高伸缩性的簇的解决方案。如果Windows NT不能满足需要,用户可以把数据库移到UNIX中。Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。Oracle获得最高认证级别的ISO标准认证.Oracle性能最高,保持开放平台下的TPC-D和TPC-C的世界记录Oracle多层次网络计 算,支持多种工业标准,可以用ODBC、JDBC、OCI等网络客户连接。 Oracle 在兼容性、可移植性、可联结性、高生产率上、开放性也存在优点。Oracle产品采用标准SQL,并经过美国国家标准技术所(NIST)测试。与 IBM SQL/DS,DB2,INGRES,IDMS/R等兼容。 Oracle的产品可运行于很宽范围的硬件与操作系统平台上。可以安装在70种以上 不同的大、中、小型机上;可在VMS、DOS、UNIX、WINDOWS等多种操作系统下工作。能与多种通讯网络相连,支持各种协议(TCP/IP、 DECnet、LU6.2等)。提供了多种开发工具

数据库表结构设计方法及原则

偶尔善良 提交于 2020-03-12 15:27:33
http://www.cnblogs.com/RunForLove/p/5693986.html 数据库设计的三大范式:为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。   在实际开发中最为常见的设计范式有三个:第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式;第二范式在第一范式的基础之上更进一层。第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中;第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。总结一下,就是: 第一范式(确保每列保持原子性); 第二范式(确保表中的每列都和主键相关); 第三范式(确保每列都和主键列直接相关,而不是间接相关)。   在目前的企业信息系统中,数据库还是最佳的数据存储方式,虽然已经有很多的书籍在指导我们进行数据库设计,但应该那种方式是设计数据库的表结构的最好方法、设计时应遵从什么样的原则、四个范式如何能够用一种方式达到顺畅的应用等是我一直在思考和总结的问题

mysql关系型数据库

。_饼干妹妹 提交于 2020-03-10 18:03:59
参考:https://www.cnblogs.com/alex3714/articles/5950372.html 关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。 RDBMS 术语 数据库: 数据库是一些关联表的集合。. 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。 行: 一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余 :存储两倍数据,冗余可以使系统速度更快。(表的规范化程度越高,表与表之间的关系就越多;查询时可能经常需要在多个表之间进行连接查询;而进行连接操作会降低查询速度。例如,学生的信息存储在student表中,院系信息存储在department表中。通过student表中的dept_id字段与department表建立关联关系。如果要查询一个学生所在系的名称,必须从student表中查找学生所在院系的编号(dept_id),然后根据这个编号去department查找系的名称。如果经常需要进行这个操作时,连接查询会浪费很多的时间。因此可以在student表中增加一个冗余字段dept_name,该字段用来存储学生所在院系的名称。这样就不用每次都进行连接操作了。) 主键 :主键是唯一的

MYSQL基础语句(自我记忆)

浪子不回头ぞ 提交于 2020-03-10 10:34:55
一.操作数据库 1.查看所有数据库 : show databases; 2.创建数据库 : create database name(数据库名); 3.删除数据库 : drop database name (数据库名); 4.连接数据库 : use name (数据库名); 二.操作表 1.查看所有表 : show tables; 2.创建表 : create table name(表名)(id INT,name VARCHAR(10) ); // id 字段名, INT、VARCHAR 字段类型,(10) 字段可放的数据大小,可以给字段设置一些属性,如:not null(不为空)等; 3.创建一个与已存在的表数据结构类似的表 : create table 新表名 like 旧表名; 4.创建临时表 : create temporary table 表名 (id INT,name VARCHAR(10) ); //临时表 此次连接数据库存在,断开此次连接即被数据库自动删除,也可手动删除; 5.查询表 : select * from databasename.tablename;//databasename 数据库名,tablename 表名; 6.将查询到的内容放到一个临时表 : create temporary table 表名 select * from

Mysql之索引

…衆ロ難τιáo~ 提交于 2020-03-07 00:49:54
文章目录 索引 索引原理 索引技巧与注意事项 建立索引的原则 利用索引排序 InnoDB索引模型 联合索引 聚集索引 辅助索引 覆盖索引 索引合并 Cardinality(基数) 查看索引 Cardinality 优化器选择不使用索引的情况 MRR 验证MRR ICP 验证ICP 索引 只有当索引帮助存储引擎快速查找到记录的带来的好处大于其带来的额外工作时,索引才是有效的。对于非常小的表,大部分情况下简单的全表扫描更高效 在一个100w条数据的表中,如果某一列没有添加索引,那么每一句select语句都要随机地逐条扫描100w行数据,每次都要从中寻找0或者更多匹配的行。虽然这些数据最初是按照顺序加载的,但sql也不能理解这种顺序,它必须要处理所有行才能找到匹配的数据。添加索引并不总能自动改善所有类型的SQL查询的性能。有时候执行全表扫描反而更加高效,这取决于所要求的行数。这就是两种不同访问方式的差异,即通过随机IO操作来获取个别行的数据和使用查询索引及有序IO操作来读取所有数据。 索引除了在给定表上限制需要读取的数据外,索引的另一个主要用途就是快捷高效地在相关的表之间做Join操作。在需要Join的列上使用索引可以显著提升性能,并可以在另一个表中快速找到一个匹配的值。 优点 索引大大减少了服务器需要扫描的数据量 索引可以帮助服务器避免排序和临时表 索引可以将随机IO变为顺序IO

猴子都能懂的数据库避坑指南,还说你不会?

老子叫甜甜 提交于 2020-03-06 15:08:39
前言 工作的这些年发现一个比较奇怪的现象就是身边无论是工作十多年的老兵,还是初级刚入行的程序员,在高谈阔论技术和趋势的时候都是人工智能,大数据,区块链,各种框架,语言,算法,AI,BI,CI,DI…… 等等,倒是发现很少有人关注数据库,不知道是因为数据库感觉太低端还是太低调,总是不容易被人提起 技术就是这样,不太关注的地方就不会重视,越是不被重视的地方,掉进坑里的概率就会越大,所以就在这里给大家简单聊聊在使用数据库过程中有哪些防掉坑指南,也可以对刚入行的小朋友有一个提醒的作用,万丈高楼平地起,一定要先打好基础再去考虑上层的建筑,不要舍本逐末 本章主要分以下四个小节(预计读完 5 分钟左右): 数据库为什么重要 数据库有哪些使用技巧 数据库有哪些容易掉进去的坑? 深入学习数据库的建议 数据库为什么重要 很多人在开发过程中不太关注数据库,对于表结构的设计也没什么讲究大多属于“能用就行”,但是根据作者将近十年的开发经验来看的话,只要你是从事 Web 相关领域开发你就无法避免不和数据库打交道, 在Web开发中大多功能操作本质上都是对数据库进行操作 ,不管你用是 Pythod,Java,Ruby 等语言进行 Web 开发,你其实都是在面向数据库进行编程,很多 Web 框架作者为了避免程序员接触数据库的相关知识甚至还封装了一层 ORM (Object Relational Mapping

mysql数据库 数据库管理

核能气质少年 提交于 2020-03-06 06:09:56
在MySQL中,数据库是用于存储和操作诸如表,数据库视图,触发器,存储过程等数据的对象的集合。 创建数据库 mysql> CREATE DATABASE [IF NOT EXISTS] database_name DEFAULT CHARSET utf8 COLLATE utf8_general_ci; CREATE DATABASE语句的后面是要创建的数据库名称。建议数据库名称尽可能是有意义和具有一定的描述性。 IF NOT NULL是语句的可选子句。可防止创建数据库服务器中已存在数据库的错误。不能在MySQL数据库服务器中具有相同名称的数据库。 mysql> SHOW DATABASES; 显示MySQL数据库服务器中的所有数据库。 mysql> USE database_name ; 切换数据库。 删除数据库 mysql> DROP DATABASE [IF EXISTS] database_name; 创建数据表 CREATE TABLE [IF NOT EXISTS] table_name( column_list )ENGINE=table_type DEFAULT CHARSET=utf8; 存储引擎ENGINE就是指表的类型,数据库存储引擎决定了表在计算机的存储方式。如果不明确声明存储引擎,MySQL将默认使用 InnoDB 。

mysql内容总体回顾

人走茶凉 提交于 2020-03-06 00:57:12
数据类型:   数值类型: 整形 浮点型   字符串: char(定长)\varchar(不定长)   char(定长):插入数据或查询数据都快,因为char在磁盘上插入数据时的存储空间是固定的,简单粗暴,直接就是定长空间,那么就不需要考虑数据的长度,所以在进行数据查询时,速度也快,因为在读取数据时,也不需要考虑数据长度,(简单粗暴) 就按照定长的空间来取数据.     varchar(不定长):插入和查询速度相对较慢,因为它在内容 存储数据的时候,按照数据的长度进行存储的,那么每次存储数据都需要计算一下数据的长度,按照长度来开辟存储空间,那么在数据的存储空间前面还需要1-2个字节空间长度来存储数据的长度,也就是说格式大概是长度+内容,也导致了在读取数据时,首先要先读取数据的长度,然后根据长度再读取后面的内容,导致速度较慢,但是多数情况下可以节省存储空间.   日期类型:     year 2018     data 2018-01-01     time 12:10:10     datatime(*) 2019.1.22 12:10:10 *****平时工作用datatime     timestamp   范围:1970-01-01 00:00:00/2037 年某时 year: mysql> create table t10(born_year year);

MySQL下的SQL语句

强颜欢笑 提交于 2020-03-05 20:58:43
SQL语言包含四个部分:   DDL(数据库定义语言):用于定义和管理数据对象,包括数据库、数据表等           如:create、drop、alter   DML(数据库操作语言):用于操作数据库对象中所包含的数据           如:insert、update、delete   DQL(数据库查询语言):用于查询数据库对象中所包含的数据           如:select   DCL(数据库控制语言):管理数据库的语言,包括管理权限及数据更改           如:grant、revoke、commit、rollback          【对数据库的操作】 创建数据库: create database/schema [if not exists] db_name default character set '字符集'; 删除数据库: drop database if exists db_name; 查看已有的数据库: show databases/schemas; 打开指定数据库: use db_name; 查看当前打开的数据库: select database(); 查看已创建的指定数据库的编码方式: show create database db_name; 修改已有数据库的编码方式: alter database db_name default

Mysql学习笔记(016)-常见约束

别来无恙 提交于 2020-03-05 18:40:28
常见约束 #常见约束 /* 含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性 分类:六大约束 not null;非空,用于保证该字段的值不能为空 比如姓名,学号等 DEFALUT:默认,用于保证该字段有默认值 比如性别 PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空 比如字段,员工编号等 UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空 比如座位号 CHECK:检查的约束【mysql中不支持】 FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自主表的关联列的值 在从表添加外键约束,用于引用主表中某列的值 比如:主页编号,员工表的部门编号,员工表的工种编号 添加约束的时机: 1、创建表时 2、修改表时 约束的添加分类: 列级约束 六大约束语法上都支持,但外键约束没有效果 表级约束: 除了非空、默认、其他都支持 主键和唯一的大对比: 保证唯一 是否为空 一个表中可以有多少个 是否允许组合 主键 √ × 至多有一个 允许,但不推荐 唯一 √ √ 可以有多个 允许,但不推荐 外键: 1、要求在从表设置外键关系 2、从表外键列的类型和主表的关联列的类型要求一致或兼容,名称无要求 3、主表中的关联列必须是一个key(一般是主键或者唯一键) 4、插入数据时,先插入主表,在插入从表 5、删除数据时,先删除从表