Mysql基础
文章平均质量分 60
Anthony_tester
这个作者很懒,什么都没留下…
展开
-
MySQL基础教程2-创建表和列操作
本文来介绍MySQL数据库中创建表和列操作,我们知道有两种方式可以做这件事情,一个是图形化界面,第二个是命令行SQL语句。这里我们分别用图形化界面和命令行去创建表和列,先看看图形化界面的操作。1.我们找到前面在workbench里创建的数据库db1,右键选择新建表2.在Query1这个面板里,我们设置表名称和相关列1) 修改表名称为results2) 点击箭头,让列表显示出原创 2017-05-25 22:50:05 · 4869 阅读 · 0 评论 -
MySQL基础教程12-Mysql新增数据和查看数据
前提准备 在新增表数据之前,我们需要做一些前提准备工作,就是根据前面介绍数据表修改操作的文章,使用新增,修改,删除,重命名表字段,修改后,效果如下。 新增数据方案一: 给全表字段插入数据,不需要指定字段列表,但是要求数据的值出现的顺序必须要与表中设计的字段出现的顺序一致。凡是非数值数据,都需要使用引号(建议单引号)包裹。语法格式:insert into原创 2017-12-19 11:55:33 · 2458 阅读 · 0 评论 -
MySQL基础教程32-高级查询-limit子句
本篇来学习limit子句,这个知识点在面试或者笔试过程经常遇到。Limit子句是一种限制结果的语句,通常是限制数量。本篇就来学习limit两种使用方式。 只用来限制长度(数据量):limit数据量; 举例:查询学生表中前两条记录我们本来有6条学生记录,使用limit 2就只查询前面两条记录。 限制起始位置,限制数量:limit起始位置,长度; 举例:还是和上面一原创 2018-01-11 22:38:43 · 1336 阅读 · 0 评论 -
MySQL基础教程20-Mysql列属性-主键
主键:primary key, 主要的键,一张表中只能有一个字段可以使用对应的键,用来唯一约束该字段里的数据,这样的键叫主键。一张表最多能有一个主键。增加主键SQL给表增加主键大体有三种:方案1:在创建表的时候,直接在字段后面跟primary key 关键字。 注意看上面key这列里面属性显示PRI,就表示primary key,主键。这种方法优原创 2017-12-27 20:43:55 · 1232 阅读 · 0 评论 -
MySQL基础教程21-Mysql列属性-自增长
本篇继续来学习列属性,自增长。什么是自增长呢?当对应的字段,不给值,或者给默认值,或者给NULL的时候,会自动的被系统触发,系统会从当前字段中已有的最大值再进行+1操作,得到一个新的不同字段。典型的例子就是在excel表格第一列,我们往下拉就自动增长。自增长通常是跟主键搭配使用。自增长语法:auto_increment, 有以下特点1) 任何一个字段要做自增长必须前提是本身是一个索原创 2017-12-28 14:27:17 · 909 阅读 · 0 评论 -
MySQL基础教程23-索引和关系
本篇来介绍下Mysql中的索引和关系,关系主要有一对一和一对多以及多对多关系。索引 前面在删除唯一键的部分提到了索引。几乎所有的索引都是建立在字段之上,所以索引也属于列属性。索引的定义是:系统根据某种算法,将已有的数据(未来可能新增的数据)单独建立一个文件,这个文件能够实现快速的匹配数据,并且能够快速的找到对应的表中的记录。索引的意义:1. 提升原创 2018-01-03 22:35:40 · 1079 阅读 · 0 评论 -
MySQL基础教程33-连接查询-内连接
回顾前面的查询语句,我们可以得到下面这个查询语句的公式或者叫模板。从下面的语句,可以帮我们记住那些语句应该放什么顺序。模板:select 选项,字段别名,数据源(单表,多表和子查询[别名]),where字句(条件判断:从磁盘上开始),group by 字句(分组统计,统计函数,分组排序,多字段分组),having子句(判断结果,针对分组统计结果),order by字句(排序,多字段排序),li原创 2018-01-13 23:04:29 · 1559 阅读 · 1 评论 -
MySQL基础教程24-范式
范式(Normal Format),是一种离散数学中的知识,是为了解决一种数据的存储与优化的问题,保存数据的存储之后,凡是能够通过关系寻找出来的数据,坚决不再重复存储终极目标是为了减少数据的冗余。范式是一种分层结构的规范,分为六层:每一次层都比上一层更加严格,若要满足下一层范式,前提是满足上一层范式。 六层范式:1NF, 2NF, 3NF, 4NF, 5NF, 6NF, 1NF是最底层,要求最原创 2018-01-04 22:34:05 · 738 阅读 · 0 评论 -
MySQL基础教程25-数据高级操作-新增
前面我们学习了一些列属性和范式,接下来介绍一些数据的高级操作,主要是数据的增删改查。本篇来看看数据的新增操作。数据新增操作基本语法:insert into 表名 [(字段列表)] values(值列表);场景:在数据插入的时候,假设主键对应的值已经存在,如果插入一定会失败,因为主键是不允许冲突的。这种主键冲突问题如何解决呢?主键冲突当主键存在冲突的时候(Duplicate ke原创 2018-01-05 14:52:40 · 895 阅读 · 0 评论 -
MySQL基础教程26-数据高级操作-更新
接着上一篇,这篇介绍高级更新操作。更新基本语法:update 表名set 字段= 值 [where条件];高级新增语法:update 表名set 字段= 值 [where条件][limit更新数量];举例:新建一个表,数据如下 需求:把name表前三个记录改成“Anthony”,也就是前面的A B C都要改成Anthony. 这个时候就需要用到高级更新原创 2018-01-06 12:19:01 · 898 阅读 · 0 评论 -
MySQL基础教程27-查询-select选项和字段别名
前面我们介绍了数据的高级操作,新增,修改和删除,这次把查询放最后,是因为数据查询是我们学习的重点,所以接下的文章都是介绍和查询相关的操作。查询数据基本语法:select 字段列表/* from 表名 [where 条件];完整语法:select [select选项] 字段列表[字段别名]/* from 数据源[where 条件子句] [group by条件子句] [having 子句]原创 2018-01-07 22:17:31 · 5575 阅读 · 0 评论 -
MySQL基础教程34-连接查询-外连接
前面一篇学习了内连接,本篇来学习外连接,外连接有左外连接和右外连接。本篇主要连接外连接和内连接的基本使用方法。外连接(outer join),是以某张表为主,取出里面的所有记录,然后每条与另外一张表进行连接。不管能不能匹配上条件,最终都会保留,也就是说,能匹配,正确保留;不能匹配,其他表的字段都置空(NULL)。 外连接分两种情况,是以某张表为主,有主表。当以左表为主表,这个原创 2018-01-24 22:44:16 · 2063 阅读 · 0 评论 -
MySQL基础教程28-高级查询-数据源
前面一篇介绍了select选项和字段别名,这篇介绍数据源。数据源就是数据的来源,关系型数据库的来源都是数据表。本质上只要保证数据类似二维表,最终都可以作为数据源。数据源分为多种:单表数据源,多表数据源,查询语句。单表数据源举例:select * from 表名;多表数据源举例:select * from 表名1,表名2,…;这里我们用两个表查询举例,先分别看看两个表的内容。原创 2018-01-08 22:16:13 · 1458 阅读 · 0 评论 -
MySQL基础教程29-高级查询-where子句
本篇来学习下高级查询中的where子句。一般我们查询都是有条件的,很少会查询全量数据,所以我们会根据一些特定条件去海量数据里查询我们希望的结果,这个条件就是写在where子句里。 Where字句:用来判断数据,也就是根据条件筛选数据。Where 子句返回结果有两种:0和1,0代表false,1代表true,在SQL中没有布尔这种数据类型。 判断条件:比较运算符:>, =, !=,原创 2018-01-08 22:52:50 · 1420 阅读 · 1 评论 -
MySQL练习0-数据表创建
前面这些文章,基本学习完了MySQL的一些基础和常见的查询操作,接下来多篇文章,我们通过实际例子来练习SQL语句的使用,这个例子也是网上找到的,就是一个学校里的学生表,教师表,课程表,学分表。这里练习的第一篇,我们就来准备创建表和数据。 首先,我们新建一个school的数据库,然后use school,再创建以下四个表。1.创建学生表一个学生主要有学号,姓名,年龄,性别这些字段,一原创 2018-01-25 23:26:46 · 1933 阅读 · 1 评论 -
MySQL基础教程30-高级查询-group by子句
这篇来学习group by字句。Group by就是分组的意思,根据某个字段进行分组。基本语法:group by 字段名;使用前面的学生表,我们来进行练习举例:根据性别分组根据上面显示,我们使用了分组语句,结果出现了数据丢失的情况。分组之后男和女只显示一条数据。在SQL中分组是为了统计数据,SQL提供了一系列统计函数供我们使用。1) Count(): 统计原创 2018-01-09 22:49:22 · 1611 阅读 · 0 评论 -
MySQL基础教程22-Mysql列属性-唯一键
一张表往往有很多字段需要具有唯一性,数据不能重复,但是一张表中只能有一个主键。唯一键(unique key)就可以解决表中有多个字段需要唯一性约束的问题。唯一键的本质与主键差不多,唯一键默认的允许自动为空,而且可以多个为空(因为字段为空不参与唯一性比较)。增加唯一键基本与主键差不多,也有三种方法。方案1:在创建表的时候,字段之后直接跟unique关键字看到K原创 2018-01-02 23:42:10 · 1595 阅读 · 1 评论 -
MySQL基础教程19-Mysql列属性-空属性/描述/默认值
真正约束一个字段的是数据类型,但是数据类型的约束很单一,有时候还需要有一些额外的约束,这些额外的约束就是列属性。列属性主要有:null/not null,default,primary key, unique key, auto_increment, comment等。所以,这篇我们来了解一下列的几个属性。空属性空属性有两个值:NULL(默认) NOT NULL(不为空)原创 2017-12-27 13:26:53 · 1635 阅读 · 0 评论 -
MySQL基础教程11-Mysql删除数据表操作
前面介绍了数据表的修改操作,这里补上数据表的删除操作,和前面数据库的删除操作一样,删除一个数据表是有危险的行为,一旦执行了删除语句,会把表内的字段和内容都给删除。1.删除前有以下表(没有自己根据前面介绍知识去创建) 2. 在磁盘上找到数据库下文件我安装的是Mysql server 5.5版本,默认数据库存储在C:\ProgramData\MySQL\MySQL Server原创 2017-12-18 22:30:26 · 2802 阅读 · 0 评论 -
MySQL基础教程1-环境安装和连接数据库
从这篇开始,用一个新的系列文章去介绍和学习MySQL。为什么要学习MySQL,从产品角度来说,大部分软件的数据库服务还是采取关系型数据库,主要的数据库产品有Oracle、微软的MSSQL、IBM的DB2、和我们要介绍的MySQL。MySQL是很多中小型的网站服务器中数据库的首选,它有免费版,也有商业版,目前是Oracle的产品。从测试人员的角度来说,越来越多的软件产品是和数据有关,例如电商,和一些原创 2017-05-25 21:11:35 · 3540 阅读 · 0 评论 -
MySQL基础教程3-如何添加用户
本文介绍如何在MySQL下添加用户,同样采用两种方法,图形界面手动创建和命令行输入性相关命令。一. 图形界面下创建用户过程1. 打开workbench,连接上本地数据库2. 输入用户名称和密码3. 添加权限,我们这里勾选全部权限4. 设置这个用户对哪个数据库有权限这里你可以选择全部数据库,就是第一个单选按钮,这里我们选择db1.点击A原创 2017-05-26 21:07:32 · 2384 阅读 · 0 评论 -
MySQL基础教程4-SQL基础概念
前面文章我们介绍了数据库环境和如何连接数据,以及创建表和列,还有创建数据库的用户。应对数据库环境有一个基本了解,接下来我们要学的就是SQL查询。SQL的运用一般考察的都是查询和优化,我们在了解SQL查询语句之前,我们有必要了解几个基本的概念。1. 什么是SQLSQL是英文(Structured Query Language),结构化查询语言。SQL其实也是一种语言,就像Python是一门语原创 2017-05-27 12:29:07 · 1823 阅读 · 0 评论 -
MySQL基础教程5-数据库基础回顾
之前挖的坑,现在来填。好久没复习和学习关于数据库的知识,之前觉得,准备面试,只需要了解写写常见的select语句就可以。现实却是,人家常见的增删改查都不怎么问,直接来外连接,内连接,索引如何优化,数据库的优化等这样的问题。所以,现在尝试把这个MySQL的基础系列补齐,在一定基础的积累之上,才会遇到和思考为什么要去优化。下面通过复习几个概念来展开MySQL基础的学习。1. 什么是数据库?原创 2017-12-10 00:08:06 · 1499 阅读 · 0 评论 -
MySQL基础教程6-Mysql服务端和客户端交互过程
上一篇介绍了几个关键字,下面继续介绍几个SQL常见的简写。然后介绍下Mysql中服务端和客户端的交互过程,了解下这个交互过程的具体细节过程。一.几个单词简写 SQL:Structured QueryLanguage, 结构化查询语言(数据以查询为主) SQL分为三个部分 DDL: Data Definition Language, 数据定义语言原创 2017-12-11 12:57:27 · 6755 阅读 · 0 评论 -
MySQL基础教程13-Mysql更新数据和删除数据
前面讲了数据的新增和查看操作,增删改查就剩下更新和删除数据操作,所以本篇就介绍如何更新一个表内的数据和如何删除表内数据。更新数据语法格式:update 表名set 字段=值[where条件];建议都有where,要不然就是更新全部。命令举例:把luly的年龄修改成18这里要注意下,更新语句没有报错也不一定代表数据更新了,如果数据不存在,执行了更新语句,发现有0行受影原创 2017-12-20 22:35:29 · 909 阅读 · 0 评论 -
MySQL基础教程15-Mysql数据类型-整形
所谓的数据类型就是对数据进行统一的分类,从系统的角度出发,是方便统一管理和节约磁盘空间。就像我们学习任何一门编程语言一样,也有数据类型的概念,java就有基础的八大数据类型。SQL中将数据分为三大类:数值类型,字符串类型,时间日期格式类型,其中每种类型下还有细分好几种类型。整数型在sql中需要考虑磁盘的存储空间,所以将整数型细分以下五种。1)tinyint: 迷原创 2017-12-23 16:34:16 · 1170 阅读 · 0 评论 -
MySQL基础教程7-Mysql数据库CRUD操作
这篇主要介绍数据库的库操作,也就是增删改查(CRUD),在介绍CRUD之前,我们看看数据库里面对象如何分层管理和它们之间的关系。Mysql数据库数据对象分为四层:系统(DBMS)-> 数据库(DB)-> 数据表(Table)-> 字段(Field)四个的管理和包含关系,可以用下图来表示 图解: 外围表示操作系统,一般指电脑,操作系统根据端口号3306可以找到mysq原创 2017-12-15 12:48:31 · 1827 阅读 · 0 评论 -
MySQL基础教程16-Mysql数据类型-浮点型和定点型
什么是小数型呢?字面意思就是带小数点的数值型。在mysql中,小数又细分为浮点型和定点型。浮点型的特点是小数点浮动,有精度丢失;定点型特点就是小数点固定,不会丢失精度。浮点型又分float和double,float占用4个字节存储数据,精度范围大概为7位左右;double占用8个字节存储数据,精确范围大概为15位左右。浮点型创建浮点数表:直接float表示没有小数部分;float(M,原创 2017-12-23 23:08:19 · 1813 阅读 · 0 评论 -
MySQL基础教程17-Mysql数据类型-日期时间
本篇来简单学习下Mysql中的时间日期数据类型,这个类型使用频率不是很多,主要是在记录时间上,例如一个用户表,可能需要记录用户注册时间,用户最近一次登录时间,还有用户的一些会员时间期限。时间日期类型分类Datetime: 时间日期,格式是YYYY-mm-ddHH:ii:ss,表示的范围是从1000到9999年,有0值,也就是有0000-00-00 00:00:00Date:原创 2017-12-24 22:29:33 · 870 阅读 · 0 评论 -
MySQL基础教程8-Mysql数据表新增操作
前面已经介绍完了数据库的增删改查操作,接下来,我们就要介绍如何创建表操作。一般来说,创建表是需要告诉数据库在那个数据库里面新建表。这一点,我们来证明一下,看看是不是这个观点。1.创建表的基本语法格式Create table [if not exists] 表名(字段名称 数据类型,字段名称 数据类型,字段名称 数据类型 -- 注意最后一行不要加逗号) ch原创 2017-12-15 16:19:55 · 1410 阅读 · 0 评论 -
MySQL基础教程9-Mysql数据表查看操作
前面一篇,我们介绍了数据库中如何给新建一个数据表,主要有两种,第一种是创建语句中使用数据库名称和数据表之间用点号来连接,第二种是使用use 数据库名称,然后执行创建表语句。这篇,我们来看看如何查询表数据和一个表的结构及其属性和含义。1. 查看所有数据表前面我们知道通过show databases;来产看数据库,那么查看全部的数据表是不是也是用show关键字呢?在cmd中输入如下命令原创 2017-12-15 23:10:29 · 3457 阅读 · 0 评论 -
MySQL基础教程14-Mysql插入中文数据报错的原因和解决办法
有时候,我们用中文系统连接mysql数据库时候,插入或者更新的数据是中文的时候,可能会出现报错,这篇就来分析下为什么有这个报错。我们来新增一个中文数据,结果遇到了报错。问题分析:报错提示:不正确的字符值原因: 上面报错的\xDD\xFE这六个是十六进制的表示,我们知道计算机只识别二进制的数据,但是人类能识别很多符号,所以我们需要把符号都想办法给转换成二进制。不原创 2017-12-21 23:01:28 · 4858 阅读 · 0 评论 -
MySQL基础教程10-Mysql数据表修改操作
由于表包含表本身和表内字段,所以数据表操作包含表本身更新操作和表内字段更新操作。表本身修改操作主要有表名称修改和表字符集、校对集、存储引擎修改。表重命名操作语法格式:rename table 老表名to 新表名;例子: 修改表的字符集之前,我们在创建表的操作中字符集是UTF8,现在我把字符集改成GBK;语法格式:alter table my_student charse原创 2017-12-18 14:01:19 · 1415 阅读 · 0 评论 -
MySQL基础教程18-Mysql数据类型-字符串类型
本篇来学习字符串类型,在SQL中,将字符串类型分成了6类:char, varchar, text, blob, enum, 和set。下面挑选枚举和集合来举例看看。定长字符串定长字符串:char,磁盘上二维表在定义结构的时候,就已经确定了最终数据的存储长度。char(L): L代表length,可以存储的长度,单位为字符,最大长度值可以为255.char(4): 在UTF8原创 2017-12-26 16:42:41 · 1343 阅读 · 1 评论 -
MySQL基础教程31-高级查询-having子句和order by子句
这篇来学习having子句和order by字句,和where字句一样,是用来进行条件判断的。Where是针对磁盘数据进行判断,进入到内存之后,会进行分组操作,分组结果就需要Having来处理。有这么一个结论,having能做where能做的几乎所有事情,但是where却不能做having能做的事情。Order by主要就是用来排序操作。分组统计的结果或者说统计函数 having能够使用。原创 2018-01-10 23:19:11 · 2159 阅读 · 0 评论