Mysql入门
Posted lionet-kk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql入门相关的知识,希望对你有一定的参考价值。
Mysql入门
1.数据库介绍
数据库概念
数据库本质上是一个文件系统,是存储数据的仓库。
数据库作用
数据库用来管理用户的数据,方便用户对数据进行增删改查的一些操作。
数据库分类
数据库分为关系型数据库(SQL)和非关系型数据库(NOSQL)
常见的关系型数据库:MySQL、SQLServer、Oracle等。
常见的非关系型数据库:MongoDB、Redis、HBASE等。
2.SQL语言介绍
简介
SQL:全称为structured query language,即结构化查询语言。是关系型数据库管理系统都需要遵循的规范,是数据库认识的语句。不同的数据库生产厂商都支持SQL语句,但都有自己特有内容。
SQL和MySQL的区别:SQL是MySQL等关系型数据库管理系统都需要遵循的规范,但MySQL是SQL的一种"方言"。
分类
DDL:数据定义语言 作用:定义库,表,字段(列) 关键字: create drop alter
DML:数据操作语言 作用:操作表中数据记录 关键字: insert delete update
DQL:数据查询语言 作用:查询表中数据记录 关键字: select from where
DCL:数据控制语言 作用:控制用户的权限和安全级别(了解)
语法
1.SQL语句不仅可以一行书写,也可以多行书写,但必须以分号;结尾。
select 查询内容/* from 表名 where 条件;
select 查询内容/*
from 表名
where 条件;
2.SQL语言不区分大小写,建议关键字用大写
SELECT 查询内容/*
FROM 表名
WHERE 条件;
3.SQL的注释
单行注释可以使用--或者#来进行注释,快捷键为Ctrl+/
多行注释可以使用/**/进行注释,快捷键为ctrl+shift+/
3.MySQL介绍
MySQL的特点:
MySQL是开源的,所以你不需要支付额外的费用(6版本开始收费)。
MySQL支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
MySQL使用标准的SQL数据语言形式。
MySQL可以安装在不同的操作系统,并且提供多种编程语言的操作接口。
4.MySQL数据库操作
知识点
数据库单词: database
创建数据库: create database [if not exists] 数据库名 [character set utf8]; #[]是可以省略的地方,其中如果加上if not exists,如果之前没有创建过这个数据库,则不会创建新的,但是如果不加此句,创建同名的数据库时会报错。此外默认字符集是utf8。
删除数据库: drop database 数据库名;
切换数据库: use 数据库名;
查看当前数据库: select database();
展示所有数据库: show databases;
展示指定库的建库语句: show create database 数据库名;
示例
# 一.数据库操作
# 1.演示创建数据库
# 创建数据库基础格式
create database mysql01;
#如果创建已经存在的数据库则会报错
create database mysql01; # Can\'t create database \'mysql01\'; database exists
#如果加上if not exists,则不会报错
create database IF NOT EXISTS test1;# 已经存在就不创建也不报错,不存在会直接创建
#设置字符集utf8,一般默认为utf8
create database test2 character set utf8;
# 2.演示删除数据库
drop database test1;
# 3.演示切换数据库
#先使用数据库
use test2;
#再切换数据库mysql01
use mysql01;
# 4.查看数据库
# 查看当前数据库
select database();
# 查看所有数据库
show databases;
# 查看mysql01的建库语句
show create database mysql01;
5.MySQL数据类型
整型:int,bigint
浮点型:float,double,decimal(10,2)
日期:date,datetime
字符串:varchar(长度)
6.MySQL数据表操作
知识点
数据表单词: table
创建数据表: create table [if not exists] 表名 (字段名1 数据类型 [字段约束],字段名2 数据类型 [字段约束],...);
删除数据表: drop table 表名;
修改数据表名: alter table 旧表名 rename to 新表名;
查看指定数据表结构: desc 表名;
展示所有数据表: show tables;
展示指定表的建表语句: show create table 表名;
示例
# 操作表的前提: 先有库并使用库
use mysql01;
# 1.演示表的创建
# 创建数据表基础格式
create table stu1(id int,name varchar(10),age int);
#如果创建已经存在的表的话,会报错
create table stu1(id int , name varchar(100), age int ); # 报错 Table \'stu1\' already exists
# IF NOT EXISTS: 如果表不存在就创建,如果存在不创建也不报错
create table IF NOT EXISTS stu1(id int , name varchar(10), age int ); # 存在不创建也不报错
create table IF NOT EXISTS stu2(id int , name varchar(10), age int ); # 表不存在就创建
# 注意: 可使用空格和缩进来增强语句的可读性,以分号;结尾 格式化快捷: 先选中要格式化的内容 再按ctrl+alt+L
CREATE TABLE IF NOT EXISTS stu3
(
id int,
name varchar(10),
age int
);
# 2.删除表
drop table stu3;
# 3.修改表名
alter table stu1 rname to student;
# 4.查看表
# 查看指定数据表结构:
desc student;
# 展示所有数据表:
show tables;
# 展示指定表的建表语句:
show create table student;
7.MySQL字段操作
知识点
字段/列单词: column
字段操作本质就是修改表
添加字段:alter table 表名 add [column] 列名 类型 [约束];
删除字段:alter table 表名 drop [column] 列名;
修改字段: alter table 表名 change [column] 旧列名 新列名 类型 [约束];
查看字段信息:desc 表名;
示例
# 操作表的前提: 先有库并使用库
use mysql01;
# 操作表中字段前提: 先要有操作表
# 1.演示添加字段
# 添加字段:
alter table student add sex varchar(10);
alter table student add height float;
# 注意: 如果要添加的字段名是关键字,需要加反引号,否则报错
alter table student add desc varchar(10); # 报错,因为desc是关键字
alter table student add `desc` varchar(10); # 加了反引号,正常执行
#删除字段:
alter table student drop height;
alter table student drop `desc`;
#修改字段:
# 演示同时修改字段名和字段类型
alter table student change id uid varchar(10);
# 演示只修改名称
alter table student change name uname varchar(10);
# 演示只修改字段类型
alter table student change sex sex int;
# 查看字段信息:
desc student;
如何入门 MySQL
如何入门MySQL
前言:
关于如何入门MySQL,后台有好多同学咨询我,可能部分读者刚开始学习MySQL,我前面发的文章对部分同学来说暂时接触不到。原本写技术文章的目的是记录自己的工作学习,没有考虑到读者MySQL技术水平不一。本篇文章主要介绍MySQL技术的学习方法,刚入门的同学可以参考下。
MySQL相关介绍
想要学习MySQL数据库,我们首先要明白MySQL是什么,有什么作用,发展迭代历程。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
--源自百度百科
好用的开源软件都有分支,Linux如此,MySQL也不例外。MySQL现在有两个大的分支,MariaDB和Percona Server。Percona Server更多的关注加强性能,另外Percona公司发布的XtraBackup和pt-tookit好用到没朋友的,这些利器可以让DBA在管理MySQL时如虎添翼。
在MySQL AB公司被Sun收购之后,创始人发布了MariaDB,MariaDB更多的关注于新的功能。
关于学习MySQL,个人推荐使用MySQL5.7.17以上版本,安装教程可参考前面我的文章。
下面简单介绍下相关概念:
数据库(database): 指的是文件系统上的一组文件,在innoDB中表现为后缀为idb的文件。等同于schema。
实例(instance): 指的是操作系统上的一组进程/线程和内存的集合。如果在MySQL服务器上执行ps -ef | grep mysql,就能看见MySQL的进程了。
简单地说,数据库指的是文件,实例指的是进程/线程和内存。平时我们说的数据库,很多的时候指的是关系型数据库管理系统(RDBMS),这些概念在严谨的文档中是要严格区分的,但是在平时的交流中,基本上大家约定俗成的说法是没有问题的。
表(table): 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
索引(index): 使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
关于文档
当我们学习MySQL的过程中,难免会遇到某些困难,特别是某些参数该如何设置。这时候,官方文档是最好的工具。
5.7版本官方文档地址:
https://dev.mysql.com/doc/refman/5.7/en/
英文看不太明白关系也不大,谷歌翻译下网页,能读懂大概意思即可。个人认为,官方文档上的介绍比网上搜索的博客靠谱多了。
关于书籍
可能有些同学比较喜欢看专业书籍,对于想买书来学习MySQL的同学,这里推荐下大名鼎鼎的《高性能MySQL》,这本书堪称MySQL界的经典,没有之一的那种。
总结:?
关于如何入门MySQL,总结下来就是:首先搭建好学习环境,了解MySQL相关架构及概念,然后再逐步进行练习。文档及书籍可以帮助你更系统的进行学习。希望这篇文章对你有所帮助,其他人有好的学习方法也可以留言分享哦!
以上是关于Mysql入门的主要内容,如果未能解决你的问题,请参考以下文章