主键 超键 候选键 外键

主 键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。
超 键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。
候选键:是最小超键,即没有冗余元素的超键。
外 键:在一个表中存在的另一个表的主键称此表的外键。

数据库事务的四个特性及含义

数据库事务transanction正确执行的四个基本要素。ACID,原子性(Atomicity)、一致性(Correspondence)、隔离性(Isolation)、持久性(Durability)。
原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
一致性:在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
隔离性:隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行 相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。这种属性有时称为串行化,为了防止事务操作间的混淆,必须串行化或序列化请求,使得在同一时间仅有一个请求用于同一数据。
持久性:在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
这几个先记着,事务处理会用到。

数据类型

数值数据类型

整型
TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT 分别使用 8, 16, 24, 32, 64 位存储空间,一般情况下越小的列越好。
INT(11) 中的数字只是规定了交互工具显示字符的个数,对于存储和计算来说是没有意义的。
浮点数
FLOAT 和 DOUBLE 为浮点类型,
DECIMAL 为高精度小数类型。
CPU 原生支持浮点运算,但是不支持 DECIMAl 类型的计算,因此 DECIMAL 的计算比浮点类型需要更高的代价。
FLOAT、DOUBLE 和 DECIMAL 都可以指定列宽,例如 DECIMAL(18, 9) 表示总共 18 位,取 9 位存储小数部分,剩下 9 位存储整数部分。

字符串
主要有 CHAR 和 VARCHAR 两种类型,一种是定长的,一种是变长的。

VARCHAR 这种变长类型能够节省空间,因为只需要存储必要的内容。
但是在执行 UPDATE 时可能会使行变得比原来长,当超出一个页所能容纳的大小时,就要执行额外的操作。
MyISAM 会将行拆成不同的片段存储,而 InnoDB 则需要分裂页来使行放进页内。
在进行存储和检索时,会保留 VARCHAR 末尾的空格,而会删除 CHAR 末尾的空格。

字符串与文本数据类型除了char与varchar,还有:

本质区别主要是blob是二进制字符串(字节字符串)
text是非二进制字符串(字符字符串)
在TEXT或BLOB列的存储或检索过程中,不存在大小写转换。

日期时间数据类型

MySQL 提供了 FROM_UNIXTIME() 函数把 UNIX 时间戳转换为日期,并提供了 UNIX_TIMESTAMP() 函数把日期转换为 UNIX 时间戳。
默认情况下,如果插入时没有指定 TIMESTAMP 列的值,会将这个值设置为当前时间。
应该尽量使用 TIMESTAMP,因为它比 DATETIME 空间效率更高。

创建存储过程的一般写法

创建 存储过程 名字(out 参数1,in参数2,...)
begin语句
end

参数:

in      输入参数,传入值
out     输出参数,返回值
inout   输入输出参数,尽量少用

实例:

--查询
CREATE PROCEDURE getUserById(IN uid VARCHAR(8))
BEGINSELECT id,name,partment,position FROM t_employ WHERE id=uid;
END
--插入用户
CREATE PROCEDURE insert_user(OUT u_id INTEGER,IN u_name VARCHAR(20),IN u_sex VARCHAR(20),IN u_age INTEGER)
BEGININSERT INTO t_user (name,sex,age) VALUES (u_name,u_sex,u_age);SET u_id=LAST_INSERT_ID();--??
END

Navicat中使用SQL命令

存储过程写进SQL文件时
@mysql.sql直接执行

内置函数

GREATEST()   最大值
LEAST()     最小值。
FLOOR()     获得小于一个数的最大整数值
CEILING()   获得大于一个数的最小整数值
ROUND()     获得一个数的四舍五入的整数值
TRUNCATE()  把一个数字截取为一个指定小数个数的数字
ABS()       获得一个数的绝对值
SIGN()      返回数字的符号,返回的结果是正数(1)、负数(1)或者零(0):
POW()       以一个数作为另外一个数的指数
SIN()、COS()和TAN()函数返回一个角度(弧度)的正弦、余弦和正切值
BIN()、OTC()和HEX()函数分别返回一个数的二进制、八进制和十六进制值
ASCII()     返回字符表达式最左端字符的ASCII值
CHAR()      转换为字符
LEFT | RIGHT ( str ,x ) 分别返回从字符串str左边和右边开始指定x个字符
TRIM | LTRIM | RTRIM(str)   TRIM删除字符串首部和尾部的所有空格。LTRIM和RTRIM分别删除字符串中前面的空格和尾部的空格
#类型转换函数
CAST()      进行数据类型转换,它可以把一个值转换为指定的数据类型。
#日期和时间函数
NOW()       可以获得当前的日期和时间

MySQL整理-基础知识篇1相关推荐

  1. 【笔记】——MySQL数据库——基础知识-——快速回顾——(加深印象篇)

    文章目录 前言 一.MySQL是什么? 二.数据库的常见概念 三.数据库存储数据的特点 四.SQL语言的分类 1.)DML 2.)DDL 3.)DCL 五.数据库的基本操作 5.1.)创建数据库 5. ...

  2. 那些值得回味的MySQL的基础知识

    那些值得回味的MySQL的基础知识 MySQL零碎知识点整理 题记: 在如今甚是流行的MySQL中有些基础的知识却是我们日常工作中处理问题容易忘却的一部分,所以不能忘了本,那么我们现在就去回忆那些曾经 ...

  3. 100天精通Python丨基础知识篇 —— 05、7大基础数据类型详解(变量、列表、集合、字典、元组)

    <100天精通Python专栏 - 快速入门到黑科技>是由 CSDN 内容合伙人丨全站排名 Top 4 的硬核博主 不吃西红柿 倾力打造,专栏分为基础知识篇和黑科技应用篇.基础知识篇以理论 ...

  4. 秋招准备-基础知识篇(正更)

    秋招准备-基础知识篇 深度学习 介绍优化器以及如何优化.包括SGD, Momentum,Adagrad,RMSProp,Adam. 欠拟合和过拟合.解决方法. 损失函数.BCE loss和softma ...

  5. 100天精通Python丨基础知识篇 —— 08、Python 最常用的 20 个包(按使用频率排序)

    本文收录于 <100天精通Python专栏 - 快速入门到黑科技>专栏,是由 CSDN 内容合伙人丨全站排名 Top 4 的硬核博主 不吃西红柿 倾力打造,分基础知识篇和黑科技应用两大部分 ...

  6. SP 短信开发-基础知识篇

    SP 短信开发-基础知识篇 很土的话题,但是最近帮朋友做这个东西,所以写点东西出来给初学者参考. 一.准备资料 SP开发资料网站上有很多,但是主要是以下几个文档: 1.MISC1.6 SP订购通知接口 ...

  7. 1.0 MySQL数据库基础知识

    MySQL数据库基础知识 MYSQL介绍 MySQL分支版本的发展 MySQL. Oracle. SQLServer的市场区别 MYSQL数据库使用上的结构 MYSQL体系架构图 MYSQL体系架构- ...

  8. 计算机基础知识题库选择题,计算机基础知识篇选择题库

    计算机基础知识篇选择题库 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 15.9 积分 计算机基础知识篇选择题库1.微型计算机的性能指标不包括___ ...

  9. Hadoop学习笔记—15.HBase框架学习(基础知识篇)

    Hadoop学习笔记-15.HBase框架学习(基础知识篇) HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase ...

最新文章

  1. springboot 替换tomcat_Spring Boot实战 之 解剖HelloWorld原型应用
  2. android助手专业版,开发助手专业版 v5.6.1-cs for Android 直装付费专业版
  3. AJAX——与服务器交换数据并更新部分网页技术
  4. Axure函数与变量
  5. 星巴克REST案例分析读后感
  6. 第四十期:九个对Web开发者最有用的Python包,掌握这些,工资至少能涨涨
  7. 夏令营提高班上午上机测试 Day 1 解题报告
  8. 设计模式--创建型模式之抽象工厂模式
  9. 计算机安装系统后鼠标无法使用,电脑重装系统后鼠标键盘不能用怎么办
  10. 下钻图生成 highcharts-column-drilldown
  11. SpringBoot Kafka工具类封装
  12. 【Android 常见控件使用】ListView_BaseAdapter 自定义Adapter简单使用
  13. uni-app实现简单上传图片Demo(不考虑小程序,只实现网页和App)
  14. yun之梦 酒仙wang 实战 带源码
  15. php职教云答案,职教云答案查询软件下载,职教云提前看答案,职教云php作业答案...
  16. 名创优品通过上市聆讯:寻求双重主要上市 年营收91亿
  17. (一)通用定时器的相关介绍
  18. 在Mac下如何创建文件
  19. passive-interface的含义
  20. linux access() rpm,Unix/LINUX rpm 命令示例

热门文章

  1. 3d可视化虚拟建模vr展示三维模型方案
  2. DC 逻辑综合的基本流程
  3. 从IMDB上爬取MovieLens数据集中的详细电影信息
  4. Python-day11~13-前端初步
  5. 使用线性神经网络实现逻辑与和逻辑异或(一)
  6. mysql自学教学_MySQL自学篇(三)_MySQL
  7. 机器学习入门 - Google的机器学习速成课程
  8. js使用页面打印window.print() 记录,并进行缩放打印
  9. liunx系统的根结构认识及命令学习
  10. 【JavaScript】——正则表达式