MySQL基础入门(1)
MySQL基础入门(1)
为什么学习MySQL
关系数据库管理系统(Relational Database Management System, RDBMS)是一种极为重要的工具,其应用十分广泛,从商业、科研和教育领域里的应用,到基于因特网(Internet)的内容发布,无处不在。在过去,数据库系统给人的印象一直是价格昂贵。因为为了满意的性能表现,数据库引擎对计算机硬件通常有很高的要求,从而导致整个成本变高。
但是,伴随着各种免费开源工具的发展,获取数据库软件已经不在是什么难事,而且很多开源数据库系统还是免费的。其中最重要的就是M有SQL,这是一套源自Scandinavia的SQL“客户端/服务器”关系数据库管理系统。
MySQL早期广泛受到欢迎的原因在于快速、简单。但缺少特性,比如事务支持和外键支持。随着MySQL的不断发展,其不仅增加了这些特性,并且还增加了其他许多的特性,如复制、子查询、存储例程等。MySQL的优点如下:
运行速度:MySQL的运行速度非常快,并且在默认存储引擎为InnoDB之后和查询优化方面。
易用性:MySQL是一个相对简单、高性能数据库系统。
功能性:MySQL的服务器支持多线程,因此允许多个客户端同时和它进行连接。
连接性与安全性:MySQL完全支持网络化,用户可以从因特网上的任何地点访问数据库,MySQL还有控制访问功能,还提供了SSL协议加密的连接.
可移植性强:不仅能在window上,还可以运行在各种版本的Unix和Linux系统上
可用性和成本低:开源,大部分内部使用是免费的。
基本数据库术语
数据库(DataBase)是一个用来存储信息的仓库
数据库里的数据集都被组织成表
每个表由多个行(row)和列(column)组成
表中的每一行称为一条记录(record)
记录可以包含多项信息;表里的每一列对应于其中的一项
管理系统(Management System)是一个软件,我们可以通过它来插入(insert)、检索(retrieve)、修改(modify)或者(delete)记录。
关系(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)的更多相关文章
- 【转载】20分钟MySQL基础入门
原文:20分钟MySQL基础入门 这里持续更新修正 开始使用 MySQL 为关系型数据库(Relational Database Management System),一个关系型数据库由一个或数个表格 ...
- mysql 基础入门 单表查询
单表查询 select 表头,表头 as 别名 ,表头(+-*/的运算) from table_a 1.条件查询 where + 条件 <> , != 不等于 = 等于,也可以表示字符串值 ...
- 1、mysql基础入门(1)
1.mysql基础入门: 1.1.数据库介绍:
- MySQL基础入门使用和命令的使用
数据库了解 概念 数据库就是一种特殊的文件,其中存储着需要的数据 一个数据库可以有多张表 MySQL是一种关系型数据库 具有关联性数据的就是关系型数据库 MySQL是一种软件可以用来创建mysql数据 ...
- MySQL 基础入门
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用 ...
- 12. Mysql基础入门
课程大纲 • 数据库概述 • MySQL基本操作 • MySQL索引基础 • MySQL高级特性
- mysql基础入门
基本命令:(sql分号结束,切记.切记) 登录mysql:mysql -h ip -u用户名 -p 或者 mysql -u用户名 -p密码 查看数据库: show databases: ...
- MySQL基础入门-第一课 新建数据库(linux版本)
MySQL linux 登录MySQL sudo ),name ),phone ) ); # 或者 ),name ),phone )); 数据类型 数据类型 大小(字节) 用途 格式 INT ...
- MySql基础入门-mysql的结构层次
了解MySql必须牢牢记住其体系结构图,Mysql是由SQL接口,解析器,优化器,缓存,存储引擎组成的. 1.Connectors指的是不同语言中与SQL的交互 2.Management Servei ...
随机推荐
- Java 中你怎样唤醒一个阻塞的线程?
在 Java 发展史上曾经使用 suspend().resume()方法对于线程进行阻塞唤醒,但 随之出现很多问题,比较典型的还是死锁问题. 解决方案可以使用以对象为目标的阻塞,即利用 Object ...
- MyISAM 表格将在哪里存储,并且还提供其存储格式?
每个 MyISAM 表格以三种格式存储在磁盘上: ·".frm"文件存储表定义 ·数据文件具有".MYD"(MYData)扩展名 索引文件具有".MY ...
- 学习Apache(一)
实验目的 通过apache实现反向代理的功能,类似nginx反向代理和haproxy反向代理 环境准备 逻辑架构如下 前端是apche服务器,监听80端口,后端有两台web服务器,分别是node1和n ...
- Python学习—(windows系统下)安装pygame
浏览器搜索pygame的windows安装程序,下载与python版本相匹配的文件. 如果.exe文件直接运行: 如果.whl文件,将其复制到要用到的项目文件夹中,在cmd窗口中切换到该文件所在的文件 ...
- 语言算子&模糊推理
一.语言算子 语言算子分为三类: ①语气算子 ②模糊化算子 ③判定化算子 (1)语气算子 "集中化算子":--"很"."极"."非 ...
- 复习——高级语法对象原型,es5新增语法
今天的开始进入了js的高级语法 我马上也要复习完了,之前学到闭包递归,就回去复习去了,复都复习这么久而且,复习的过程真的比学知识的过程难熬的多,只不过终于要复习完了,再来点es6的新语法马上就要步入v ...
- Vue2的右键弹出菜单(vue-contextmenu)
给大家推荐一个基于Vue2的右键弹出菜单插件,支持单一SPA页面以及可以在循环绑定中使用. 项目地址为:https://github.com/chIIC/vue-...demo1: 父组件绑定右键事件 ...
- onsubmit阻止表单提交
在实际开发中往往会遇到检查表单数据的合法性,如果数据不合法,就不让其提交. <!DOCTYPE html> <html> <head> <meta chars ...
- java中异常到底有什么用?举例
异常的意义:马克-to-win:通过上面的例子,我们看出通过引入异常这种技术,即使出现不测(用户把0赋给除数),也可以让程序不崩溃,还能继续优雅 的运行.那,这种技术有用,值得学.马克-to-win: ...
- 【uniapp 开发】如何给边框添加阴影效果
css的box-shadow是用来添加边框阴影效果的. 属性值详解: 1.inset 可选值,默认阴影在盒子外 使用inset后,阴影在盒子内,即使指定边框或者透明边框,阴影依然存在. 2. 这是头两 ...