MySQL基础入门(1)

为什么学习MySQL

关系数据库管理系统(Relational Database Management System, RDBMS)是一种极为重要的工具,其应用十分广泛,从商业、科研和教育领域里的应用,到基于因特网(Internet)的内容发布,无处不在。在过去,数据库系统给人的印象一直是价格昂贵。因为为了满意的性能表现,数据库引擎对计算机硬件通常有很高的要求,从而导致整个成本变高。

但是,伴随着各种免费开源工具的发展,获取数据库软件已经不在是什么难事,而且很多开源数据库系统还是免费的。其中最重要的就是M有SQL,这是一套源自Scandinavia的SQL“客户端/服务器”关系数据库管理系统。

MySQL早期广泛受到欢迎的原因在于快速、简单。但缺少特性,比如事务支持和外键支持。随着MySQL的不断发展,其不仅增加了这些特性,并且还增加了其他许多的特性,如复制、子查询、存储例程等。MySQL的优点如下:

  1. 运行速度:MySQL的运行速度非常快,并且在默认存储引擎为InnoDB之后和查询优化方面。

  2. 易用性:MySQL是一个相对简单、高性能数据库系统。

  3. 功能性:MySQL的服务器支持多线程,因此允许多个客户端同时和它进行连接。

  4. 连接性与安全性:MySQL完全支持网络化,用户可以从因特网上的任何地点访问数据库,MySQL还有控制访问功能,还提供了SSL协议加密的连接.

  5. 可移植性强:不仅能在window上,还可以运行在各种版本的Unix和Linux系统上

  6. 可用性和成本低:开源,大部分内部使用是免费的。

基本数据库术语

  1. 数据库(DataBase)是一个用来存储信息的仓库

    • 数据库里的数据集都被组织成表

    • 每个表由多个行(row)和列(column)组成

    • 表中的每一行称为一条记录(record)

    • 记录可以包含多项信息;表里的每一列对应于其中的一项

  2. 管理系统(Management System)是一个软件,我们可以通过它来插入(insert)、检索(retrieve)、修改(modify)或者(delete)记录。

  3. 关系(Relational)一词表示这是一种特殊的DBMS,其长处在于通过查找两个表里的共同元素,将分别存放于两个表里面的信息联系起来

基本语句使用

对于MySQL数据库的安装以及用户创建在此不做过多描述,直接进入基本SQL语句的使用

创建数据库 :Create database 表名;

Create database sampdb;

创建表:

CREATE TABLE president (
  last_name VARCHAR(15) NOT NULL,
  first_name VARCHAR(15) NOT NULL,
  suffix VARCHAR(15) NULL,
  city VARCHAR(15) NOT NULL,
  state VARCHAR(2) NOT NULL,
  birth DATE NOT NULL,
  death DATE NULL
) ENGINE = InnoDB;

创建表用CREATE TABLE 表名(列名称 类型 是否可空,...);这是最简单的创建表的方式,其中还有很多细节并没有列入,但现在只要知道,一张表到底是如何创建的就可以。

添加新行

-- 创建student表
CREATE TABLE student (
  name VARCHAR(20) NOT NULL,
  sex ENUM('F', 'M') NOT NULL,
  student_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
   PRIMARY KEY (student_id)
)  ENGINE=INNODB;
-- 利用INSERT添加行
insert into student values('Kyle', 'M', null);
-- 查看表里的内容
select *from student;

insert into 表名 values()就是表示往某一张表里接加入数据,但是括号里面的顺序应该表当时创建时的顺序实现一致。

检索信息

比如上面的select *from student;其结果如下

也就是查出了student表中的全部内容,因此买也可以得到查询的一般模板

select 需要什么(a)
from 哪张表(b)
where 筛选条件(c);

a.应该都能理解,比如说需要某一张表中的列,把列表写出

b.说明数据来源于哪一张表

c.筛选出符合条件的值,比如说student中的sex,当需要筛选出为'M'的,就可以加入筛选条件

这个是最简单的筛选语句,其实这个检索语句后面还可以加上很多东西,比如order by--即按照什么进行排序,还有limit,限制输出几行,或者一个范围,还有as,对列名进行重命名,like 对某列的值进行匹配,正确的输出等等。但是这都是比较简单的,只要掌握了基本的,写出select语句还是比较简单,关键在于思想。

删除已有行

delete from 表名
where 筛选条件;

这个比较好理解,在此就不在重复

更新已有行

update 表名
set 那些列需要改变
where 筛选条件

这里举个例子

update student set name = 'George';

这就是把name列更新为'George'。

总结

虽然说,SQL语句是比较容易上手的,并且有时候也比较通俗易懂。但实际中,当表增多时,要写出好的SQL和理清楚很多逻辑关系也是比较困难的,今天介绍的SQL语句只是入门,后续会继续介绍。

MySQL基础入门(1)的更多相关文章

  1. 【转载】20分钟MySQL基础入门

    原文:20分钟MySQL基础入门 这里持续更新修正 开始使用 MySQL 为关系型数据库(Relational Database Management System),一个关系型数据库由一个或数个表格 ...

  2. mysql 基础入门 单表查询

    单表查询 select 表头,表头 as 别名 ,表头(+-*/的运算) from table_a 1.条件查询 where + 条件 <> , != 不等于 = 等于,也可以表示字符串值 ...

  3. 1、mysql基础入门(1)

    1.mysql基础入门: 1.1.数据库介绍:

  4. MySQL基础入门使用和命令的使用

    数据库了解 概念 数据库就是一种特殊的文件,其中存储着需要的数据 一个数据库可以有多张表 MySQL是一种关系型数据库 具有关联性数据的就是关系型数据库 MySQL是一种软件可以用来创建mysql数据 ...

  5. MySQL 基础入门

    MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用 ...

  6. 12. Mysql基础入门

    课程大纲 • 数据库概述 • MySQL基本操作 • MySQL索引基础 • MySQL高级特性

  7. mysql基础入门

    基本命令:(sql分号结束,切记.切记) 登录mysql:mysql -h ip  -u用户名 -p   或者  mysql  -u用户名  -p密码 查看数据库: show  databases: ...

  8. MySQL基础入门-第一课 新建数据库(linux版本)

    MySQL linux 登录MySQL sudo ),name ),phone )  );  # 或者  ),name ),phone ));  数据类型 数据类型 大小(字节) 用途 格式 INT ...

  9. MySql基础入门-mysql的结构层次

    了解MySql必须牢牢记住其体系结构图,Mysql是由SQL接口,解析器,优化器,缓存,存储引擎组成的. 1.Connectors指的是不同语言中与SQL的交互 2.Management Servei ...

随机推荐

  1. 「入门篇」初识JVM

    记录于 2022-01-02  17:25:12  GhostFace 1. 什么是JVM? 概念 来自百度百科 JVM是 Java Virtual Machine(Java虚拟机)的缩写,JVM是一 ...

  2. 什么是Hystrix?

    防雪崩利器,具备服务降级,服务熔断,依赖隔离,监控(Hystrix Dashboard)服务降级:双十一 提示 哎哟喂,被挤爆了. app秒杀 网络开小差了,请稍后再试.优先核心服务,非核心服务不可用 ...

  3. Redis 集群,集群的原理是什么?

    1).Redis Sentinal 着眼于高可用,在 master 宕机时会自动将 slave 提升为master,继续提供服务. 2).Redis Cluster 着眼于扩展性,在单个 redis ...

  4. 什么是 Spring MVC 框架的控制器?

    控制器提供一个访问应用程序的行为,此行为通常通过服务接口实现.控制器解 析用户输入并将其转换为一个由视图呈现给用户的模型.Spring 用一个非常抽象 的方式实现了一个控制层,允许用户创建多种用途的控 ...

  5. 学习MySql(一)

    一.安装部署mysql 1.安装mysql: # yum -y install autoconf libaio libaio-devel # groupadd mysql # useradd -r - ...

  6. JVM的基础知识

    一.JVM的基础知识 1.JVM内存结构: 1.JVM堆内存结构: 2.JVM内存分配: 3.Java的堆机构和垃圾回收: 4.Jvm堆内存配置参数: 5.JVM新生代概念和配置: 6.JVM老生代概 ...

  7. CommonCollection1反序列化学系

    CommonsCollection1 1.前置知识 1.1.反射基础知识 1.1.1. 对象与类的基础知识 类(class),对象(object) 对象是类的实例化,中华田园犬(object)是狗(c ...

  8. 基于HTML5的拓扑图编辑器(2)

    继续来说编辑器的需求, 前面介绍了拖拽创建节点.以及连线的方法,并加入到了其后的 Qunee 类库,实际应用中需要更多功能,Qunee 的拓扑图编辑器也在逐渐完善,一方面增加多种编辑交互,一方面提供数 ...

  9. translate3d 对 z-index 居然有影响

    在 Mobile 端需要注意. 安卓 默认浏览器 当中如果 div1 div2 如果 div1 有 translate3d 而 div2 没有 那么 div2 的 z-index 会无效. 解决办法: ...

  10. Vue2.0一个login跳转实例

    需要解决的问题:store存储登录状态Vue-Router导航钩子拦截路由Vue-Resource获取后台的数据需要判断登录返回的user源码参考原文地址 主要技术栈:Vuex + Vue-Resou ...