当前位置:首页 > 民俗文化

mysql教程 MySQL 入门教程

MySQL简介

1.什么是数据库?

数据库是根据数据结构组织、存储和管理数据的仓库。它产生于60多年前。随着信息技术和市场的发展,尤其是20世纪90年代以后,数据管理不再仅仅是存储和管理数据,而是转变为用户需要的各种数据管理方式。有许多类型的数据库,从包含各种数据的最简单的表到可以存储海量数据的大规模数据库系统。

主流数据库有:sqlserver、mysql、Oracle、SQLite、Access、MS SQL Server等。本文主要讨论mysql

2.数据库管理有什么用?

a. 将数据保存到文件或内存b. 接收特定的命令,然后对文件进行相应的操作

PS:如果你有上面的管理系统,不需要自己创建文件和文件夹,直接把命令传给上面的软件进行文件操作。它们统称为数据库管理系统

MySQL安装

MySQL是一个开源的关系数据库管理系统(RDBMS),它使用最常用的数据库管理语言——结构化查询语言(SQL)进行数据库管理。MySQL是网络应用中最好的关系数据库管理系统应用软件之一。

要使用mysql,您必须具备以下条件

a. 安装MySQL服务端b. 安装MySQL客户端c. 【客户端】连接【服务端】d. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等)

1.下载地址:http://dev.mysql.com/downloads/mysql/

2.安装

windows安装请参考:http://www.cnblogs.com/lonelywolfmoutain/p/4547115.htmllinux下安装:http://www.cnblogs.com/chenjunbiao/archive/2011/01/24/1940256.html

注意:以上两个环节安装方法比较齐全,业主也是指他的安装。安装后,mysql.server start启动mysql服务

MySQL操作

首先,连接数据库

例子:mysql -u root -p

常见错误如下:

错误2002 (HY000):无法通过套接字'/tmp/mysql.sock' (2)连接到本地mysql服务器,这意味着MySQL服务器守护程序(Unix)或服务(Windows)没有运行。

退出连接:

退出或Ctrl+D

第二,检查数据库,创建数据库,使用数据库检查数据库:

显示数据库;

默认数据库:

MySQL-用户权限相关数据测试-用户测试数据信息_模式-MySQL自己的模式相关数据

创建数据库:

创建数据库db1 DEFAULT CHARSET utf 8 COLLATE utf 8 _ general _ ci;# utf8代码创建数据库db1默认字符集gbk collate gbk _ Chinese _ ci# gbk编码

使用数据库:

使用db1

显示当前使用的数据库中的所有表:

显示表格;

第三,用户管理

创造用户

创建由“密码”标识的用户“用户名”@“IP地址”;

删除用户

删除用户'用户名' @'IP地址';

修改用户

将用户“用户名”@“IP地址”重命名;到“新用户名”@“IP地址”;

修改密码

为“用户名”@“IP地址”=密码(“新密码”)设置密码;

注意:与用户权限相关的数据存储在mysql数据库的用户表中,所以也可以直接操作(不推荐)

四.权限管理

Mysql对权限有以下限制:

所有权限:除授予选择外的所有权限:仅查找权限选择。插入:查找和插入权限...用法:无访问权限更改:使用更改表更改例程:使用更改过程并删除过程创建:使用创建表创建例程:使用创建过程删除临时表:使用创建临时表创建用户:使用创建用户,删除用户, 重命名用户并撤消所有权限创建视图:使用create viewdelete:使用deletedrop:使用drop tableexecute:使用调用和存储过程文件:使用select into outfile并加载数据inf Ilegrant选项:使用grant和revokeindex:使用indexinsert:使用insertlock tables:使用lock tableprocess:使用show full processlistselect:使用select show databases show视图:使用show viewupdate:使用updatereload:使用flushshutdown:使用mysqldadmin shut super:使用change master、kill、log、purge、master和set global。 它还允许mysqladmin调试对复制从属端使用的复制客户端:服务器位置复制从属端的访问

对于数据库和其他内部权限如下:

数据库名称。*数据库中的所有数据库名称。表指定数据库中表的数据库名称。存储过程指定数据库中的存储过程*。*所有数据库

用户和IP的权限如下:

用户名@IP地址用户只能访问用户名@192.168.1。%用户只能在IP段更改下访问(通配符%表示任意)用户名@%用户可以在任意IP下访问(默认IP地址为%)

1.查看权限:

显示对“用户”@“IP地址”的授权

2.授权

授予对数据库的权限。“用户”@“IP地址”的表格

3.取消授权

撤销对数据库的权限。来自“用户名”@“IP地址”的表

授权的例子如下:

将db1.tb1上的所有权限授予TO' username' @'IP '在db1上授予select。*要“用户名”@“知识产权”授权选择,请在*上插入。*从“用户名”@“知识产权”中撤销db1.tb1上的选择

MySQL表操作

首先,检查表格

显示表格;#检查数据库中的所有表从表名中选择*;#查看表格的所有内容

其次,创建一个表

创建表名(列名类型是否可以是空,列名类型是否可以是空)引擎= innodb默认字符集= utf8

举个例子详细说明

CREATE TABLE ` tab 1 `(` NID ` int(11)NOT NULL auto _ increment,` name` varchar(255) DEFAULT张彦林,` email` varchar(255),PRIMAry KEY(` NID `))ENGINE = Innodb DEFAULT CHARSET = utf8;

注意:

默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添加默认值自增,如果为某列设置自增列,插入数据时无需设置此列,默认将自增(表中只能有一个自增列)注意:1、对于自增列,必须是索引(含主键)2、对于自增可以设置步长和起始值主键,一种特殊的唯一索引,不允许有空值,如果主键使用单个列,则它的值必须唯一,如果是多列,则其组合必须唯一。

第三,删除表格

删除表格表格名称

四.清除空目录

从表名中删除截断表名

动词 (verb的缩写)修改表格

添加列:更改表名添加列名类型删除列:更改表名删除列名修改列名类型;-type alter table name更改原始列名更改新列名类型;-列名,类型add主键:alter table name add主键;删除主键:更改表名删除主键;更改表名修改列名int,删除主键;添加外键:alter table从属表add constraint外键名称(格式:FK_从属表_主表)外键从属表(外键字段)引用主表(主键字段);删除外键:更改表名删除外键外键外键名修改默认值:更改表测试alter _ TBL alter I设置默认值1000;删除默认值:alter table test alter _ TBL alter I drop default;

这些操作看起来是不是很麻烦很费时间?不要慌!有一个专门的软件可以提供这些功能,操作非常简单。这个软件叫做Navicat Premium。大家在网上下载,练习。但是,建议为表内容操作编写命令。

不及物动词基本数据类型

MySQL的数据类型大致分为:数值、时间和字符串

位[(M)]二进制位(101001),其中M表示二进制位(1-64)的长度。默认情况下,m = 1 tinyint[(m)][无符号][零填充]是一个小整数。数据类型用于存储某些范围内的整数值:有符号:-128 ~ 127。int[(m)][无符号][零填充]整数。数据类型用于存储某些范围内的整数数值范围:有符号:-2147483648 ~ 2147483647无符号:0 ~ 4294967295特殊:整数类型的m仅用于显示,存储范围不限。例如:int(5),当插入数据2时,数据显示为:00002 big int[(m)][无符号][零填充]。数据类型用于存储某些范围内的整数数值范围:有符号:-9223372036854775808 ~ 922372036854775807无符号:0 ~ 1844674073709551615十进制[(m [,d])][无符号][零填充]m的最大值为65,d的最大值为30。特别是这种类型的decaimal是精确数值计算所需要的,之所以能存储精确值,是因为它是根据字符串内部存储的。浮点[(m,d)][无符号][零填充]单精度浮点数(不准确的十进制值),其中m为总位数,d为小数点后的数字。无符号:-3.402823466 e+38 to-1.175494351 e-38,01.175494351 e-38 to 3.402823466 e+38有符号:01.175494351 e-38 to 3.402823466 e+38更不准确的* * * * double [(m,d)][无符号][零填充]双精度浮点数(不准确的十进制值无符号:-1.7976931348623157 e+308 to-2.2250785072014 e-30802.2250785072014 e-308 to 1.79763134823157 e+308有符号:6931348623157E+308 ****的值越大越不准确。* ****char (m) char数据类型用于表示固定长度的字符串,最多可包含255个字符。其中m代表字符串的长度。PS:即使数据长度小于M,也会占用M长度。varchar(m) varchars数据类型用于可变长度字符串,最多可包含255个字符。其中m表示数据类型允许保存的字符串的最大长度,任何长度小于最大值的字符串都可以保存在数据类型中。注意:虽然varchar使用灵活,但是从整个系统的性能来看,char数据类型的处理速度更快,有时甚至超过varchar处理速度的50%。因此,在设计数据库时,用户应该综合考虑所有因素,以达到最佳平衡。文本数据类型用于保存长字符串和大字符串,可分组为65,535 (2 * * 16 1)个字符。mediumtext最大长度为16,777,215(2 * * 24 1)个字符的文本列。龙腾text最大长度为4,294,967,295或4gb (2 * * 32 1)个字符的文本列。枚举枚举类型,枚举列最多可以有65个,示例:创建表体(名称varchar (40),大小枚举(' x-small ',' small ',' medium ',' large ',' x-large '));插入衬衫(名称、尺寸)值('礼服衬衫','大号'),('t恤','中号',(' polo衫','小号');集合集合类型集合列最多可以有64个不同的成员。示例:create table myset (colset ('a ',' b ',' c ',' d ');INSERT INTO myset (col) VALUES ('a,d '),(' d,a '),(' a,d,a '),(' a,d,d '),(' d,a,d ');日期YYYY-月-日(1000-01-01/9999-12-31)时间HH:MM:SS('-838:59:59 '/838:59:59 ')年YYY(1901/2155)日期YYY-月-日HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59y)时间戳

MySQL目录的操作

表内容的操作无非就是增加、删除、检查。当然,用的最多的是检查,用这个最难。当然对大神来说是那么容易,对我来说灵活运用还是很难的。让我们一个一个来看看。

第一,增加

插入到表中(列名,列名...)值(列名、列名...)值(值,值,值...)插入到表中(列名,列名...)选择(。列名...)来自表格示例:在标签1(姓名、电子邮件)中插入值('张燕林','张燕林8851 @ 163.com ')

第二,删除

从表中删除#删除表中的所有数据从表中删除,其中ID =1且名称= '张彦林' #删除id = 1且名称= '张彦林'的数据行

第三,改变

更新表集名称= '张彦林',其中id >:1

第四,检查

从表中选择*从表中选择*其中id >:1从表中选择nid、姓名、性别作为gg,其中id >:1

检查这一块的条件太多了。我会列出来。至于组合,就看大家的理解了

一、有条件的判决在哪里

从表中选择*其中id >: 1和名称!= 'aylin '且num = 12从表中选择*号,其中id介于5和16之间;从id在(11,22,33)的表中选择*从id不在(11,22,33)的表中选择*从id在(从表中选择nid)的表中选择*

类似通配符

从名称类似“张%”# all(多个字符串)的表中选择*其中名称类似“张_”# all(一个字符)在张的开头

限制极限

从表格限制5中选择*;-前五行从表限制4,5中选择*;-第4行的5行选择*表格限制5从第4行偏移4-5行

第四步,将asc和desc分类

按列从表格顺序中选择* ASC-排列选择*按列从表格顺序中选择desc-排列选择*按列1 desc、列2 ASC-按列1排列,如果它们相同,则按列2排序

E.分组依据

从表组中按数字选择数字,从表组中按数字选择nid,NID从表中选择数字,NID从表中按数字选择NID >: 10按数字选择组,NID顺序NID desc选择数字,NID,计数(*),总和(分数),最大值(分数),最小值(分数)从表组中按数字选择,NID从表组中按具有最大值(id)的数字选择数字>:10特殊:分组方式必须在排序方式之前和之后

好了,我们已经完成了MySQL的介绍。经过实践,一些简单的添加、删除、修改和检查任务就不再是问题了。这个时候要考虑进阶。

限于本文的主题和篇幅,这里不多说了。如果需要,学生可以去https://dev.mysql.com/doc/, MySQL的官方文档,英语不好的学生也可以去http://www.runoob.com/mysql/mysql-tutorial.html,菜鸟教程。

MySQL资源的完整集合

除了入门教程,边肖还为大家准备了一份礼物,那就是完整的MySQL资源集。

如果工人想尽最大努力,他们必须首先磨利他们的工具。有了这些工具,我们和大神的差距会缩小很多,很多工具也会为我们的日常提升提供很大的帮助——有了工具包,我妈再也不用担心你的学习了!

诊断器具

性能、结构和数据分析工具

Anemometer – 一个 SQL 慢查询监控器。innodb-ruby – 一个对 InooDB 格式文件的解析器,用于 Ruby 语言。innotop – 一个具备多种特性和可扩展性的 MySQL 版 ‘top’ 工具。pstop – 一个针对 MySQL 的类 top 程序,用于收集,汇总以及展示来自 performance_schema 的信息。mysql-statsd – 一个收集 MySQL 信息的 Python 守护进程,并通过 StatsD 发送到 Graphite。

支持

备份/存储/恢复工具

MyDumper – 逻辑的,并行的 MySQL 备份/转储工具。MySQLDumper – 基于 web 的开源备份工具-对于共享虚拟主机非常有用。mysqldump-secure – 将加密,压缩,日志,黑名单和 Nagios 监控一体化的 mysqldump 安全脚本。Percona Xtrabackup – 针对 MySQL 的一个开源热备份实用程序——在服务器的备份期间不会锁定你的数据库。

性能测试

对服务器进行压力测试的工具

iibench-mysql -基于 Java 的 MySQL/Percona/MariaDB 索引进行插入性能测试工具。Sysbench – 一个模块化,跨平台以及多线程的性能测试工具。

聊天应用程序

集成到聊天室的脚本

Hubot MySQL ChatOps

部署

MySQL配置示例和指南

mysql-compatibility-config – 使 MySQL 配置起来更像新的(或先前)的 MySQL 版本。

连接器

多种编程语言的MySQL连接器

Connector/Python – 一个对于 Python 平台和开发的标准化数据库驱动程序。go-sql-driver – 一个 Go 语言的轻量级、极速的 MySQL 驱动程序。libAttachSQL – libAttachSQL 是 MySQL 服务器的一个轻量级,非阻塞的 C 语言 API。MariaDB Java Client – 针对 Java 应用且经过 LGPL 许可的 MariaDB 客户端库。MySQL-Python – 一个 Python 语言的 MySQL 数据库连接器。PHP mysqlnd – 针对 MySQL 的 MySQL 本地驱动,弃用过时的 libmysql 基础驱动。

开发

支持MySQL相关开发的工具

Flywaydb – 数据库迁移;任意情况下轻松可靠地演变你的数据库版本。Liquibase – 对你的数据库进行源代码控制。Propagator – 集中模式和数据部署在一个多维拓扑上。

图像使用者界面

前端图形用户界面及应用

Adminer – 一个 PHP 编写的数据库管理工具。HeidiSQL – Windows 下的 MySQL 图形化管理工具。MySQL Workbench – 提供给数据库管理员和开发人员进行数据库设计和建模的集成工具环境;SQL 开发;数据库管理。phpMyAdmin – 一个 PHP 写成的开源软件,意图对 web 上的 MySQL 进行管理。SequelPro – 一个 mac 下运行 MySQL 的数据库管理应用程序。mycli – 一个带自动补全和语法高亮的终端版 MySQL 客户端

高度可用的解决方案

Galera Cluster – 一个基于同步复制的多主机集群方案。MHA – 针对 MySQL 的优秀高可用管理器及工具MySQL Fabric – 一个用于管理 MySQL 服务器场(Server Farms)的可扩展框架。Percona Replication Manager – 针对 MySQL 的异步复制管理代理。支持以文件和 GTID 为基础的复制,使用 booth 实现的地理分布式集群。

机构

MySQL代理

MaxScale – 开源,以数据库为中心的代理。Mixer – Go 实现的一个 MySQL 代理,目的为 MySQL 分片提供一个简单的解决方案。MySQL Proxy – 一个处于你的客户端和 MySQL 服务端之间的简单程序,它可以检测、分析或者改变它们的通信。ProxySQL – 高性能的 MySQL 代理。

复制

复制相关软件

orchestrator – 对 MySQL 复制拓扑管理并可视化的工具。Tungsten Replicator – MySQL 的一个高性能、开源、数据复制引擎。

模型

附加模式

common_schema – MySQL DBA 的框架, 提供一个具有函数库、视图库和查询脚本的解释器。sys – 一个视图、函数和过程的集合,以帮助 MySQL 管理人员更加深入理解 MySQL 数据库的使用。

计算机网络服务器

MySQL服务器风格

MariaDB – MySQL server 的一个由社区开发的分支。MySQL Server & MySQL Cluster – Oracle 官方的 MySQL server 和 MySQL 集群分布。Percona Server – 一个加强版的 MySQL 替代品WebScaleSQL – WebScaleSQL,5.6 版本,基于 MySQL 5.6 社区版本。

分成几部分

碎片解决方案/框架

vitess – 对于大规模的 web 服务,vitess 提供服务和工具以便于 MySQL 数据库的缩放。jetpants – 一个自动化套件,用于管理大规模分片集群,由 Tumblr 开发。

针线袋

工具包,通用脚本

go-mysql – 一个纯 go 的库,用于处理 MySQL 的网络协议和复制。MySQL Utilities – 一个命令行实用程序的集合,Python 语言编写,用于维护和管理单一或多层的 MySQL。Percona Toolkit – 一个先进的命令行工具集,用于执行对于 MySQL 服务器和系统过于困难或复杂的任务。openark kit – 一组实用的工具,解决日常的维护工作,包括一些复杂的或需徒手操作的,用 Python 语言编写。UnDROP – 一个用来恢复删除或损坏的 InnoDB 表中数据的工具。

1.《mysql教程 MySQL 入门教程》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《mysql教程 MySQL 入门教程》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guoji/1224763.html

上一篇

苹果市值破万亿美元 库克称这不是衡量公司成功的重要指标

下一篇

患庞贝病男生高考662分 还原事发经过及背后原因!

死神镰刀符号 拳手出场音乐盘点,死神方便幽灵一般,泰拳王子播求成符号!

  • 死神镰刀符号 拳手出场音乐盘点,死神方便幽灵一般,泰拳王子播求成符号!
  • 死神镰刀符号 拳手出场音乐盘点,死神方便幽灵一般,泰拳王子播求成符号!
  • 死神镰刀符号 拳手出场音乐盘点,死神方便幽灵一般,泰拳王子播求成符号!
一组数据看中国减贫成就 对此大家怎么看?

一组数据看中国减贫成就 对此大家怎么看?

国务院新闻办公室6日发布《人类减贫的中国实践》白皮书说,今年是中国共产党成立100周年。100年来,中国共产党团结带领人民,以坚定不移、顽强不屈的信念和意志与贫困作斗争。...

一组数据看中国减贫成就 事件详细经过!

国务院新闻办公室6日发布《人类减贫的中国实践》白皮书说,今年是中国共产党成立100周年。100年来,中国共产党团结带领人民,以坚定不移、顽强不屈的信念和意志与贫困作斗争。...

一组数据看中国减贫成就 这意味着什么?

一组数据看中国减贫成就 这意味着什么?

国务院新闻办公室6日发布《人类减贫的中国实践》白皮书说,今年是中国共产党成立100周年。100年来,中国共产党团结带领人民,以坚定不移、顽强不屈的信念和意志与贫困作斗争。...

一组数据看中国减贫成就 真相原来是这样!

国务院新闻办公室6日发布《人类减贫的中国实践》白皮书说,今年是中国共产党成立100周年。100年来,中国共产党团结带领人民,以坚定不移、顽强不屈的信念和意志与贫困作斗争。...

excel两个表格相同数据筛选 两个Excel表格要同时做筛选,怎么实现?

广东省教育资源公共服务平台 升学e网通入驻广东省教育资源公共服务平台 以互联网数据驱动精准教学

  • 广东省教育资源公共服务平台 升学e网通入驻广东省教育资源公共服务平台 以互联网数据驱动精准教学
  • 广东省教育资源公共服务平台 升学e网通入驻广东省教育资源公共服务平台 以互联网数据驱动精准教学
  • 广东省教育资源公共服务平台 升学e网通入驻广东省教育资源公共服务平台 以互联网数据驱动精准教学

广东教育资源公共服务平台 升学e网通入驻广东省教育资源公共服务平台 以互联网数据驱动精准教学

  • 广东教育资源公共服务平台 升学e网通入驻广东省教育资源公共服务平台 以互联网数据驱动精准教学
  • 广东教育资源公共服务平台 升学e网通入驻广东省教育资源公共服务平台 以互联网数据驱动精准教学
  • 广东教育资源公共服务平台 升学e网通入驻广东省教育资源公共服务平台 以互联网数据驱动精准教学