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. python -sorted 学习

    跟C++ STL中的sort的用法类似,sorted用来对列表进行排序 比如: list = [3,4,82,66,22,11] 用sorted(list),就会对对list这个表进行排序 如果,so ...

  2. SpringMVC源码解读 - RequestMapping注解实现解读

    SpringMVC源码解读 - RequestMapping注解实现解读 - RequestCondition体系  https://www.cnblogs.com/leftthen/p/520840 ...

  3. abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?

    abstract的method 不可以是static的,因为抽象的方法是要被子类实现的,而static与子类扯不上关系! native方法表示该方法要用另外一种依赖平台的编程语言实现的,不存在着被子类 ...

  4. Java并发机制(5)--同步容器与并发容器

    Java并发编程:同步容器整理自:博客园-海子-http://www.cnblogs.com/dolphin0520/p/3933404.html1.同步容器出现原因 常用的ArrayList,Lin ...

  5. Java中带参数的方法和JavaScript中带参数的函数有什么不同?

    javascript是动态语言,是弱类型语言,其参数的使用很灵活:java则是强类型语言,参数的类型必须明确的

  6. 转载:TCP协议如何保证可靠传输

    转载至:https://www.cnblogs.com/xiaokang01/p/10033267.html TCP协议如何保证可靠传输 概述: TCP协议保证数据传输可靠性的方式主要有: (校 序  ...

  7. Spring 对 DAO 的支持?

    Spring 对数据访问对象(DAO)的支持旨在简化它和数据访问技术如 JDBC, Hibernate or JDO 结合使用.这使我们可以方便切换持久层.编码时也不用担心 会捕获每种技术特有的异常.

  8. vmware克隆Centos虚拟机网卡无法启动问题

    快速处理办法: cat /etc/sysconfig/network-scripts/ifcfg-eth0 sed -i '/UUID/d' /etc/sysconfig/network-script ...

  9. 《剑指offer》面试题3:二维数组中的查找

    面试题3:二维数组中的查找 面试题3:二维数组中的查找题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的个二维数组和一个整数,判 ...

  10. canvas实现平铺水印

    欲实现的水印平铺的效果图如下: 从图上看,应该做到以下几点: 文字在X和Y方向上进行平铺: 文字进行了一定的角度的旋转: 水印作为背景,其z-index位置应位于页面内容底部, 即不能覆盖页面主内容: ...