mysql添加字段

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

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

【MySQL】常用命令

北慕城南 提交于 2020-03-11 16:56:46
# 获取当前时间 select now(); # 获取当前时间戳 select unix_timestamp() * 1000; # 时间转时间戳 select unix_timestamp('日期') * 1000; # 时间戳转时间 select from_unixtime(time / 1000); # 时间戳格式化 select from_unixtime(time / 1000, '%Y-%m-%d'); # 时间格式化 select date_format(now(), '%Y-%m-%d'); # 日期添加指定的时间间隔 adddate('日期', num); # 模糊查询(like效率最低,条件左右亦可) select '字段' from '表名' where '字段' like '%_%'; select '字段' from '表名' where instr('字段', ''); select '字段' from '表名' where locate('', '字段'); select '字段' from '表名' where position('' in '字段'); select '字段' from '表名' where find_in_set('', '字段'); # join用法 left join : 两个表的交集外加左表剩下的数据; right join

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 13:12:37
总结一下我之前自己学习MySQL的笔记,仅供参考。 使用命令行调用MySQL一定要注意分号,不然会出现报错。建议自己练习的时候,可以先把代码打到记事本里,再粘贴到命令行中运行,就不容易犯错了。 1.数据库常用操作 1)查询数据库:show databases; 2)创建数据库:create databases 数据库名字; 3)使用某一个数据库:use 数据库名字; 4)显示当前数据库里的数据表: show tables; 5)创建数据表: create table 表名字( 数据类型+字段); 6)显示数据表:describe 数据表名; 7)查看数据表中的记录:select * from 数据表名; 8)向数据表中添加数据记录: insert into 数据表名 values(‘a’,‘b’,‘c’,NULL); 9)从数据表中删除数据记录:delete from 数据表名 where name = ’ ‘; 10)从数据表中修改记录: update 数据表名 set name= ’ 改后的名’ where 所属的类名=‘ 对应的名’; 2.MySQL支持的数据类型有三种:数值,日期/时间,字符串类型 3.MySQL建表约束 1) 主键约束 :能够唯一确定一张表中的一条记录,即通过给某个字段增加约束,可使得该字段不重复且不为空。 create table 数据表名( id

mysql-基本命令与索引

吃可爱长大的小学妹 提交于 2020-03-09 11:48:51
基本SQL命令 库管理 创建库(指定字符集):create database 库名 default charset = utf-8; 查看创建库的语句:show create database 库名; 切换库:use 库名; 查看当前所在库:select database(); 查看库中已有表:show tables; 删除库:drop database 库名; 表管理 创建表(指定字符集):CREATE TABLES 表名(字段名,数据类型,...)DEFAULT CHARSET = UTF-8; 查看创建表的语句(字符集和存储引擎):show create table 表名; 查看表结构:desc 表名; 删除表:drop table 表名; 表记录管理: 插入:insert into 表名 values(),(),...; insert into 表名(字段名列表) values(),(),...; 查询:select * from 表名; select 字段名1,字段名2,...from 表名; 删除:delete from 表名 where 条件; 更新:update 表名 set 字段名=值1,...where 条件; 表字段管理: 添加:alter table 表名 add 字段名 数据类型 first ; alter table 表名 add 字段名 数据类型

高级查询

那年仲夏 提交于 2020-03-07 10:10:33
character_set_server:默认的内部操作字符集 character_set_client:客户端来源数据使用的字符集 character_set_connection:连接层字符集 character_set_results:查询结果字符集 character_set_database:当前选中数据库的默认字符集 character_set_system:系统元数据(字段名等)字符集 ;MySQL常用的注解方式有两种:#..... /*....*/; 修改表 [可选项] #修改表名 ALTER TABLE 旧表名 RENAME [TO]新表名; #添加字段 ALTER TABLE 表名 ADD 字段名 数据类型[属性]; #修改字段 ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 [属性]; #删除字段 ALTER TABLE 表名 DROP 字段名; 添加主键 ALTER TABLE 表名 ADD CONSTRAINT 主键名(一般为PK_表名) PRIMARY KEY 表名(主键字段); 添加外键 ALTER TABLE 表名 ADD CONSTRAINT 外键名(一般为FK_外键表_主表) FOREIGN KEY(外键字段) REFERENCES 关联表名(关联字段); 关联字段一般为关联表中的主键或具有唯一约束的键 DML语句

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下的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、删除数据时,先删除从表

开发工具的学习以及认识

喜你入骨 提交于 2020-03-05 01:51:48
操作系统: 1.Windows操作系统 ⑴直观、高效的面向对象的图形用户界面,易学易用 ⑵用户界面统一、友好、漂亮 ⑶丰富的设备无关的图形操作 ⑷多任务操作环境 2.Unix操作系统 ⑴UNIX系统是一个多用户,多任务的分时操作系统 ⑵UNIX的系统结构可分为三部分:操作系统内核,系统调用,应用程序 ⑶UNIX系统大部分是由C语言编写的 ⑷UNIX提供了丰富的,精心挑选的系统调用 ⑸UNIX提供了功能强大的可编程的Shell语言作为用户界面 ⑹UNIX系统采用树状目录结构 ⑺UNIX系统采用进程对换的内存管理机制和请求调页的存储方式 ⑻UNIX系统提供多种通信机制 3.Linux操作系统 ⑴Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途 ⑵Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码 ⑶完全兼容POSIX1.0标准 ⑷多用户、多任务操作环境;支持多种平台 4.Mac OS操作系统 ⑴全屏模式是新版操作系统中最为重要的功能,一切应用程序均可以在全屏模式下运行 ⑵任务控制整合了Dock和控制面板,并可以窗口和全屏模式查看各种应用 ⑶快速启动面板的工作方式与iPad完全相同,它以类似于iPad的用户界面显示电脑中安装的一切应用,并通过App Store进行管理,用户可滑动鼠标,在多个应用图标界面间切换 ⑷Mac