sql增加字段

MySQL基础部分总结

心已入冬 提交于 2020-03-01 02:22:39
MySQL是一种关系型数据库管理系统 数据库操作 创建数据库:create database 数据库名; 显示已经存在的数据库:show databases; 删除数据库:drop database 数据库名; (删除数据库会删除数据库中所有的表和表中所有的数据) (数据库引擎) 查看数据库支持的引擎: 1.show engines; 2.show variables like ‘have%’; 查看数据库默认引擎:show variables like ‘storage_engine’; 如果想要更改默认引擎,可以在my.ini中更改。 表操作 创建表: 查看表的结构: describe 表名; desc 表名; 查看表详细结构语句: show create table 表名 \G; (加上\G,显示结果更加美观,尤其适用于内容比较长的记录) 修改表名:alter table 旧表名 rename [to] 新表名; 修改字段的数据类型:alter table 表名 modify 属性名 数据类型; 修改字段名:alter table 表名 change 旧表名 新属性名 新数据类型; 增加字段:alter table 表名 add 属性名1 数据类型 [完整性约束] [first | after 属性名2]; 删除字段:alter table 表名 drop 属性名;

MariaDB增删改

给你一囗甜甜゛ 提交于 2020-02-26 03:30:46
1.MariaDB 数据类型 MariaDB数据类型可以分为数字,日期和时间以及字符串值。 使用数据类型的原则:够用就行, 尽量使用范围小的,而不用大的 常用的数据类型: 1.整数:int, bit(位,0和1 ) 数值类型(常用) 2.小数:decimal #decimal(5,2) 五位数,保留两位小数 3.字符串:varchar, char 字符串 4.日期时间: date, time, datetime 日期时间类型 5.枚举类型(enum) :只能在制定好的选项中选择,enum('男','女','人妖','保密')再给该选项赋值的时候可以用1代表男,2代表女,3代表人妖,4代表保密,5以后就不可以了。 约束: 1.主键primary key:物理上存储的顺序;唯一性,不为空,关联外键,索引功能 2.非空not null:此字段不能为空,如果字段为空,整条数据都作废 3.唯一unique:此字段不允许重复 4.默认default:当不填写此值时会使用默认值,如果填写则已填写为准 5.外键foreign key:对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常。在范围小的表中设置外键。 6.auto_increment :自动增加 2. sql语句-增 显示当前时间:select now();

sql - 主键、外键

旧巷老猫 提交于 2020-02-25 16:50:40
一、主键 1.定义 主键(primary key) 一列(或一组列) , 其值能够唯一区分表中的每个行。 唯一标识表中每行的这个列(或这组列)称为主键。没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只设计相关的行。 2.充当主键的条件 任何两行都不具有相同的主键值。 每个行都必须具有一个主键值(主键列不允许 NULL值)。 3.创建、增加、删除主键 (1)新建表时直接创建主键 CREATE TABLE table_test( id INT NOT NULL, name VARCHAR(20) NOT NULL, address VARCHAR(20), PRIMARY KEY(id) ); (2)新建表时创建复合键(主键字段不能包含NULL)。 CREATE TABLE table_test( user_id INT NOT NULL, user_name VARCHAR(20) NOT NULL, user_address VARCHAR(20), PRIMARY KEY (user_id, user_name) ); (3)为已建好的表创建主键(主键列必须不能为NULL) CREATE TABLE table_test( id INT NOT NULL, name VARCHAR(20) NOT NULL, address VARCHAR(20) ); ALTER

好程序员Web前端教程入门之MySQL命名规范及使用技巧

假如想象 提交于 2020-02-22 19:47:49
  好程序员Web前端教程入门之MySQL命名规范及使用技巧,不懂MySQL的前端不是一个好前端,作为Web应用方面最好的关系数据库管理系统应用软件之一,MySQL体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。接下来的好程序员Web前端课程就给大家简单分享MySQL命名规范及使用技巧。   命名规范 1、库名、表名、字段名必须使用小写字母,并采用下划线分割。 a)MySQL有配置参数lower_case_table_names,不可动态更改,Linux系统默认为0,即库表名以实际情况存储,大小写敏感。如果是1,以小写存储,大小写不敏感。如果是2,以实际情况存储,但以小写比较。 b)如果大小写混合使用,可能存在abc、Abc、ABC等多个表共存,容易导致混乱。 c)字段名显示区分大小写,但实际使⽤用不区分,即不可以建立两个名字一样但大小写不一样的字段。 d)为了统一规范, 库名、表名、字段名使用小写字母。 2、库名、表名、字段名禁止超过32个字符。   库名、表名、字段名支持最多64个字符,但为了统一规范、易于辨识以及减少传输量,禁止超过32个字符。 3、库名、表名、字段名禁止使用MySQL保留字。   当库名、表名、字段名等属性含有保留字时,SQL语句必须用反引号引用属性名称,这将使得SQL语句书写

Mysql的建表规范与注意事项

99封情书 提交于 2020-02-22 04:14:57
一、 表设计规范 库名、表名、字段名必须使用小写字母,“_”分割。 库名、表名、字段名必须不超过12个字符。 库名、表名、字段名见名知意,建议使用名词而不是动词。 建议使用InnoDB存储引擎。 存储精确浮点数必须使用DECIMAL替代FLOAT和DOUBLE。 建议使用UNSIGNED存储非负数值。 建议使用INT UNSIGNED存储IPV4。 整形定义中不添加长度,比如使用INT,而不是INT(4)。 使用短数据类型,比如取值范围为0-80时,使用TINYINT UNSIGNED。 不建议使用ENUM类型,使用TINYINT来代替。 尽可能不使用TEXT、BLOB类型。 VARCHAR(N),N表示的是字符数不是字节数,比如VARCHAR(255),可以最大可存储255个汉字,需要根据实际的宽度来选择N。 VARCHAR(N),N尽可能小,因为MySQL一个表中所有的VARCHAR字段最大长度是65535个字节,进行排序和创建临时表一类的内存操作时,会使用N的长度申请内存。 表字符集选择UTF8。 使用VARBINARY存储变长字符串。 存储年使用YEAR类型。 存储日期使用DATE类型。 存储时间(精确到秒)建议使用TIMESTAMP类型,因为TIMESTAMP使用4字节,DATETIME使用8个字节。 建议字段定义为NOT NULL。 将过大字段拆分到其他表中。

之通用权限(五):项目描述表组(转)

天大地大妈咪最大 提交于 2020-02-21 05:05:28
继续,这是第五章了。我发现了,写文章比写程序还要有难度。另外,大家期待的高人——吉日嘎拉,已经露头了,他在第四章里面留言了,而且留了很多,回复的比较晚,可能有些Tx没有看到,如果您感兴趣可以去看看,如果不感兴趣就算了。 通用权限想要写的文章目录:(这是第五章) 1 、 简介、数据库的总体结构 2 、 介绍人员表组 3 、 介绍组织结构表组 4 、 介绍角色表组 5 、 介绍“项目自我描述表组” 6 、 权限到节点 7 、 权限到按钮 8 、 权限到列表(表单、查询) 9 、 权限的验证 10 、 资源方面的权限 11 、 角色管理的程序(给客户用的) 12 、 权限下放 13 、 个性化设置 项目描述表组 这里的表比较多,主要分为两个部分,一个是“字典信息”,这里就不介绍了,感兴趣的话,请下载数据库说明文档;另一个就是装载配置信息的表。 项目描述,顾名思义就是想要用数据(记录)的形式来描述一个项目,当然不能所有的事情都能用数据的形式描述出来,只有和数据相关的地方才行。最初的目的是给我的几个自定义控件赋值用的,比如表格控件、表单控件、查询控件等,他们都需要很多的信息给他们的属性赋值,如果直接在代码里面写的话,那还不如直接拖拽控件简单呢,所以我就把需要的属性都放在了“表”里面。一开始并没有想到权限,后来才发现,只要修改一下SQL语句,就可以达到“权限”的目的,包括资源权限。同理

分库设计中的主键选择

南笙酒味 提交于 2020-02-20 08:12:26
在先前的文章《 又拍网架构中的分库设计 》中, 我有提到过MySQL分库设计中的主键选择问题。在这篇文章里我想对这个问题进行展开讨论, 以此作为对上一篇文章的一个补充。 前面提到 又拍网 采用了全局唯一的字段作为主键。比如拿照片表为例, 虽然不同用户的照片数据存放在不同的Shard(或者说MySQL节点/实例, 请参考《 又拍网架构中的分库设计 》)上, 但是每一张照片拥有整个站点唯一的ID作为标示。 为什么要全局唯一? 我们在对数据库集群作扩容时,为了保证负载的平衡,需要在不同的Shard之间进行数据的移动, 如果主键不唯一,我们就没办法这样随意的移动数据。起初,我们考虑采用组合主键来解决这个问题。 一般会以 user_id 和一个自增的 photo_id 来作为主键,这的确能解决移动数据可能带来的主键冲突问题, 但是就像在“ 又拍网架构中的分库设计 ”中描述的那样当Shard之间的数据发生关系后, 我们需要用更多的字段来组成主键以保证唯一性,因此主键的索引会变的很大,从而影响查询性能, 同时也会影响写入性能。 其次,每个Shard由两台MySQL服务器组成,而这两台服务器采用master-master的复制方式, 以保证每个Shard一直可写。master-master复制方式必须保证在两台服务器上各自插入的数据有不同的主键, 不然当复制到另外一台时就会出现主键重复错误

ThinkPHP教程_PHP框架之ThinkPHP(八)【CRUD与连贯操作】

戏子无情 提交于 2020-02-17 07:54:56
一、CRUD   ThinkPHP提供了灵活和方便的数据库操作方法,其中最基本的就是CRUD四个操作,只有掌握了最基本的CRUD操作,才能更好的运用更多实用的数据库操作方法   CRUD操作通常与 连贯操作 配合   1、创建操作   使用add()方法或addAll()方法     ·add()方法     可以直接传入要插入的数据,而且 会在插入之前会过滤掉数据表中不存在的字段以及非法的数据类型(例如对象、数组等非标量数据) 。若当前表有主键自动增长并且插入记录成功的话,则返回所插入记录主键值                    如果在执行add()操作之前已经创建了数据对象(通过create()方法或data()方法),则add()中可以不传值                    ·addAll()方法     addAll()方法可以实现批量插入数据   2、读取操作   在ThinkPHP中通常分为 读取字段(值,单一值) 、 读取记录(一维数组,单条记录) 和 读取记录集(二维数组,多条记录)     ·读取字段(值,单一值)     getField()方法     读取某一条记录的某一个字段返回的才是单一值               读取某一条记录的多个字段返回的是一个一维关联数组(键为第一个字段值,值为 其余 字段值)(之所以说其余

(03)odoo模型/记录集/公用操作

混江龙づ霸主 提交于 2020-02-16 09:42:08
----------------- 更新时间 11:17 2016-09-18 星期日 11:00 2016-03-13 星期日 09:10 2016-03-03 星期四 11:46 2016-02-25 星期四 10:06 2016-02-24 星期三 14:51 2016-02-23 星期二 18:07 2016-02-19 星期五 17:44 2016-02-17 星期三 ----------------- *模型 模型是业务对象的呈现 * 系统已定义的模型查看 设置->技术->数据结构->模型 现在定义的有700多个 * 版本演变 from openerp.osv import fields, osv -> from openerp import models, fields ------------- osv.osv ---> orm.Model ---> models.Model osv.TransientModel ---> orm.TransientModel ---> models.TransientModel ------------ class MyModel(osv.osv): pass... ------------- class MyModel(osv.Model): pass... ------------ class MyModel(models

mysql三:表操作

旧街凉风 提交于 2020-02-16 08:13:26
阅读目录 一 存储引擎介绍 二 表介绍 三 创建表 四 查看表结构 五 数据类型 六 表完整性约束 七 修改表ALTER TABLE 八 复制表 九 删除表 一 存储引擎介绍 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 1. 什么是存储引擎 mysql中建立的库===>文件夹 库中建立的 表 ===> 文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制 :比如处理文本用txt类型,处理表格用excel,处理图片用png等 数据库中的表也应该有不同的类型, 表的类型不同 ,会对应mysql不同的 存取机制 ,表类型又称为 存储引擎 。 存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方 法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和 操作此表的类型) 在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySql 数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据 自己的需要编写自己的存储引擎 SQL 解析器、SQL 优化器、缓冲池、存储引擎等组件在每个数据库中都存在,但不是每 个数据库都有这么多存储引擎。MySQL