sql修改字段长度

MySQL(一)

走远了吗. 提交于 2019-11-30 11:06:05
数据库 数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。 数据库分类 关系型数据库 关系型数据库和常见的表格比较相似,数据表与数据表之间是有很多复杂的关联关系的 大多数的关系型数据库都遵循SQL(结构化查询语言,Structured Query Language) 常见的关系型数据库有:MySQL,SQLserver 非关系型数据库 出于简化数据库结构、避免冗余、影响性能的表连接、摒弃复杂分布式的目的被设计。 指的是分布式的、非关系型的、不保证遵循ACID(数据库事务正确执行的四个基本要素的缩写)原则的数据存储系统。 通常以数据集的方式,大量的数据集中存储在一起,类似于键值对、图结构或者文档。 常见的非关系型数据库有:Redis、MongoDB MySQL数据库的安装与卸载 安装 个人推荐使用安装包安装的形式安装MySQL数据库。省时省力,但是希望你们别遇到像我一样的数据库编码问题(my.ini配置了没用)。如果你们也遇到了数据库编码问题的话,解压包形式的数据库应该能够解决你们的问题。 解压免安装版本(没有初始密码) 配置环境变量:配置数据库绝对路径下的bin目录到环境变量中 配置服务:启动管理员终端(win+x打开Windows

数据库表字段命名规范

前提是你 提交于 2019-11-30 07:48:18
一、数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔, 一个项目一个数据库,多个项目慎用同一个数据库 二、数据库表命名规范 2.1数据表命名规范 (1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔 (2) 全部小写命名,禁止出现大写 (3)禁止使用数据库关键字,如:name,time ,datetime,password等 (4)表名称不应该取得太长(一般不超过三个英文单词) (5) 表的名称一般使用名词或者动宾短语 (6) 用单数形式表示名称,例如,使用 employee,而不是 employees 明细表的名称为:主表的名称+字符dtl(detail缩写) 例如:采购定单的名称为:po_order,则采购定单的明细表为:po_orderdtl (7)表必须填写描述信息(使用SQL语句建表时) 2.2命名规范 ①模块_+功能点 示例:alllive_log alllive_category ②功能点 示例:live message ③通用表 示例:all_user 2.3待优化命名示例 ①冗余: 错误示例:yy_alllive_video_recomment yy_alllive_open_close_log

17-Mysql数据库

╄→尐↘猪︶ㄣ 提交于 2019-11-30 03:29:31
数据库 1.1 概念 数据库:db、database,存储数据的仓库,以文件形式存储数据。 DBMS:Database Manager System 常见的数据库: 1、 MySQL :免费的中小型数据库,Oracle公司的 2、 Oracle :收费的大型数据库,Oracle公司的 3、SQL Server:微软的大型的收费的数据库 4、SQLite:移动端的嵌入式的小型数据库 数据库的分类: 1、关系型(MySQL、Oracle) * 优点:通用的SQL语句、易于理解 * 缺点:大量数据的读写为保证一致性会导致性能降低 2、非关系型(MongDB、Redis) * 优点:读写性能较好,易于扩展 * 缺点:学习、使用成本较高 1.2 结构 类 表 属性 字段、列 对象 记录 1.3 语法 1、一条语句可以分为单行或多行书写 2、语句用分号结尾 3、不区分大小写,但是关键字建议用大写 4、注释: 单行注释:-- 注释内容 或者 # 注释内容(MySQL特有) 多行注释:/* 注释内容 */ 1.4 SQL语言 SQL:结构化查询语言(Structured Query Lanuage) 分类: 1、DDL:数据定义语言 对库、表进行定义,删除 create、drop 2、DML:数据操作语言 对记录进行增、删、改 insert、update、delete 3、DQL:数据查询语言

软测5班数据库第一天课程(2019-9-18)今天是九一八事变纪念日,切记:落后就要挨打!!!

China☆狼群 提交于 2019-11-30 02:11:59
Sql server:微软,默认端口:1433 Mysql数据库:默认端口:3306 Oracle数据库:默认端口:1521 Sql server启动服务的二种方式: 在sql server配置管理器中启动服务 在计算机—管理工具—服务启动 实体:一条数据库中的记录。数据库表中存放格式相同的实体。 冗余:表中存在大量的重复数据。消除冗余会似表结构变的复杂,所以允许存在一定的冗余,一张表做一件事。 完整性:正确的数据输入到数据表中。 服务器类型:数据库引擎 服务器名称:数据库服务器的ip地址/数据库服务器的计算机名/localhost/.(本机) 身份验证:Windows身份验证/Sqlserver身份验证 登录名:Windows登录用户/sa(sqlserver管理员) 密码:****** 数据库文件 mdf文件:数据库主文件,用来存储数据表,一个库有且仅有一个mdf文件。 ndf文件:数据库的辅文件,用来存储数据表,一个库可以有0-N个ndf。 ldf文件:数据库的日志文件,用来记录数据库操作日志。 完整性约束 1:数据类型的约束,规定了输入到表中的数据类型。 文本数据类型: char类型(长度是8000):固定长度的非unicode编码字符。(非unicode字符一个长度等于8位2进制,可以表示一个英文数字或者符号,两个可以用来表示双字节字符) char(10):英文是10个

Mysql干货

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

写给 Java 程序员的 24 个MySQL面试题,拿走不谢!

核能气质少年 提交于 2019-11-29 08:09:48
一、为什么用自增列作为主键?   1、如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引。   如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引。   如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作为隐含的聚集索引(ROWID随着行记录的写入而主键递增,这个ROWID不像ORACLE的ROWID那样可引用,是隐含的)。   2、数据记录本身被存于主索引(一颗B+Tree)的叶子节点上,这就要求同一个叶子节点内(大小为一个内存页或磁盘页)的各条数据记录按主键顺序存放   因此每当有一条新的记录插入时,MySQL会根据其主键将其插入适当的节点和位置,如果页面达到装载因子(InnoDB默认为15/16),则开辟一个新的页(节点)   3、如果表使用自增主键,那么每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的页   4、如果使用非自增主键(如果身份证号或学号等),由于每次插入主键的值近似于随机,因此每次新纪录都要被插到现有索引页得中间某个位置   此时MySQL不得不为了将新记录插到合适位置而移动数据,甚至目标页面可能已经被回写到磁盘上而从缓存中清掉,此时又要从磁盘上读回来,这增加了很多开销   同时频繁的移动、分页操作造成了大量的碎片

MYSQL的操作命令

本小妞迷上赌 提交于 2019-11-29 06:16:26
一、御前 1 win+R DOS 输入 net start mtsql 和 net stop mysql 启动和停止Mysql 服务,也可通过计算机——管理——服务和应用程序——服务——MYSQL——右击 启动mysql服务出现服务名无效的原因及解决方法【失败】 问题原因:mysql服务没有安装。 解决办法: 在 mysql bin目录下 以管理员的权限 执行 mysqld -install命令 以管理员的权限 mysqld -remove ,卸载mysql服务 2 登录和退出 路径: DOS:mysql -uroot -p 输入密码 exit; 退出 show databases; 查看数据库 Command Line Client登录和退出 3 常见操作 \h 或者 help; source D:\test.sql 即执行test.sql文件 4 图形 MYSQL Workbench 另外介绍第三方 SQLyog 二、数据库和表的基本操作 1、MySQL支持的数据类型 1)数值类型 字符串类型 日期和时间类型 2)数据库基本操作 CREATE DATABASE 数据库名称; SHOW DATABASE; SHOW CREATE DATABASE 数据库名称; 查看已经创建的数据库的创建信息 CREATE DATABASE 数据库名称 CHARACTER SET gbk;

django项目模型字段

随声附和 提交于 2019-11-29 05:05:10
一个模型(model)就是一个单独的、确定的数据的信息源,包含了数据的字段和操作方法。通常,每个模型映射为一张数据库中的表。 基本的原则如下: 每个模型在Django中的存在形式为一个Python类 每个模型都是django.db.models.Model的子类 模型的每个字段(属性)代表数据表的某一列 Django将自动为你生成数据库访问API 简单实例 class Blog(models.Model): """ 博客信息 """ nid = models.AutoField(primary_key=True) title = models.CharField(verbose_name='个人博客标题', max_length=64) site_name = models.CharField(verbose_name='站点名称', max_length=64) theme = models.CharField(verbose_name='博客主题', max_length=32) def __str__(self): return self.title 每一个字段都是一个类属性,每个类属性表示数据表中的一个列。 上面的代码,相当于下面的原生SQL语句: CREATE TABLE `blog_blog` ( `nid` int(11) NOT NULL AUTO

数据库表字段命名规范

烂漫一生 提交于 2019-11-28 23:45:06
数据库表字段命名规范 摘要: 当前研发工作中经常出现因数据库表、数据库表字段格式不规则而影响开发进度的问题,在后续开发使用原来数据库表时,也会因为数据库表的可读性不够高,表字段规则不统一,造成数据查询,数据使用效率低的问题,所以有必要整理出一套合适的数据库表字段命名规范来解决优化这些问题。 本文是一篇包含了数据库命名、数据库表命名、数据库表字段命名及SQL语言编码的规范文档,针对研发中易产生的问题和常见错误做了一个整理和修改,为日后涉及到数据库相关的研发工作做好准备。 一、数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔, 一个项目一个数据库,多个项目慎用同一个数据库 二、数据库表命名规范 2.1数据表命名规范 (1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔 (2) 全部小写命名,禁止出现大写 (3)禁止使用数据库关键字,如:name,time ,datetime,password等 (4)表名称不应该取得太长(一般不超过三个英文单词) (5) 表的名称一般使用名词或者动宾短语 (6) 用单数形式表示名称,例如,使用 employee,而不是 employees 明细表的名称为:主表的名称+字符dtl

SQL基础-操纵表及插入、查询

自闭症网瘾萝莉.ら 提交于 2019-11-28 19:58:16
一、操纵表 1、表的关键信息 2、更新表名 更新表名:使用RENAME TABLE关键字。语法如下: RENAME TABLE 旧表名 TO 新表名; 比如,生产环境投产前备份teacher表,使用如下语句: RENAME TABLE teacher TO teacher_bak; 3、更新字段名 更新字段名:使用ALTER TABLE关键字。语法如下: ALTER TABLE 表名 RENAME COLUMN 旧字段名 TO 新字段名; 比如,修改teacher_name的字段名为teacher_nm,使用如下语句: ALTER TABLE teacher RENAME COLUMN teacher_name TO teacher_nm; 4、更新字段类型 更新字段类型:使用ALTER TABLE关键字。语法如下: ALTER TABLE 表名 ALTER COLUMN 字段名 新字段类型; 比如,修改teacher_name的类型为VARCHAR(100),使用如下语句: ALTER TABLE teacher ALTER COLUMN teacher_name varchar(100); 在更改类型的时候,更改前的类型和更改后的类型一定要能显示转换,否则会造成数据丢失。 5、更新字段NULL值 更新字段类型时,可同时设置字段NULL值、默认值,也是使用ALTER