mysql教程(mysql使用教程)
朋友们,mysql教程和mysql使用教程是当今热门话题,但是它们的内涵和影响力可能会让人感到困惑。在本篇文章中,我将为你们揭示它们的本质和重要性,希望能够为你们带来新的认识。
mysql基本语句详细教程
看他们网上的,写得都是千篇一律,同时,好多也写得不是很好,下面是我自己总结的有关mysql的使用细节,也是我在学习过程中的一些记录吧,希望对你有点帮助,后面有关存储过程等相关操作还没有总结好,下次总结好了再发给你吧,呵呵~~~~~
MySql学习笔记
MySql概述:MySql是一个种关联数据库管理系统,所谓关联数据库就是将数据保存在不同的表中,而不是将所有数据放在一个大的仓库中。这样就增加了速度与提高了灵活性。并且MySql软件是一个开放源码软件。
注意,MySql所支持的TimeStamp的最大范围的问题,在32位机器上,支持的取值范围是年份最好不要超过2030年,然后如果在64位的机器上,年份可以达到2106年,而对于date、与datetime这两种类型,则没有关系,都可以表示到9999-12-31,所以这一点得注意下;还有,在安装MySql的时候,我们一般都选择Typical(典型安装)就可以了,当然,如果还有其它用途的话,那最好选择Complete(完全安装);在安装过程中,一般的还会让你进行服务器类型的选择,分别有三种服务器类型的选择,(Developer(开发机)、Server Machine(服务器)、Dedicated MySql Server Machine(专用MYSQL服务器)),选择哪种类型的服务器,只会对配置向导对内存等有影响,不然其它方面是没有什么影响的;所以,我们如果是开发者,选择开发机就可以啦;然后接下来,还会有数据库使用情况对话框的选择,我们只要按照默认就可以啦;
连接与断开服务器:
连接:在windows命令提示符下输入类似如下命令集:mysql–h host–u user–p
例如,我在用的时候输入的是:mysql–h localhost–u root–p
然后会提示要你输入用户密码,这个时候,如果你有密码的话,就输入密码敲回车,如果没有密码,直接敲回车,就可以进入到数据库客户端;连接远程主机上的mysql,可以用下面的命令:mysql–h 159.0.45.1–u root–p 123
断开服务器:在进入客户端后,你可以直接输入quit然后回车就可以了;
下面就数据库相关命令进行相关说明
你可以输入以下命令对数据库表格或者数据库进行相关操作,在这里就省略了,然后直接进行文字说明了;
Select version(),current_date;//从服务器得到当前mysql的版本号与当前日期
Select user();//得到当前数据库的所有用户
Use databasename;进入到指定的数据库当中,然后就可以操作这个数据库当中的表格了
Show databases;//查询目前数据库中所有的数据库,并且显示出来;
Create batabase databasename;创建数据库,例如:create database manager;
Show tables;//查看当前数据库中的所有表格;
Create table tablename(colums);创建表,并且给表指定相关列,例如:create table pet(name varchar(20),owner varchar(20),species varchar(20),sex char(1),birth date,death date);
Describe tablename;将表当中的所有信息详细显示出来,例如:describe pet;
可以用命令一次插入多条记录,例如:
Insert into pet values(‘Puffball’,’Diane’,’hamster’,’f’,’1993-12-3’,null),(‘Puffball’,’Diane’,’hamster’,’f’,’1993-12-3’,now());
Select* from pet;从pet表当中查询出所有的记录,显示出来;
Delete from pet where id=1;删除ID为1的那一条记录;
Update pet set birth=’2001-1-3’ where name=’Bowser’;更新name为Bowser的记录当中的birth字段的值;
Select distinct owner from pet;从pet表中选择出owner字段的值唯一的行,如果有多行记录这个字段的值相同,则只显示最后一次出现这一值的一行记录;
有关日期计算:
Select name,birth,curdate(),(year(curdate())-year(birth)) as age from pet;
此处,year()函数用于提取对应字段的年份,当然类似的还有month(),day()等;
在mysql当中,sql语句可以使用like查询,可以用”_”配任何单个字符,用”%”配任意数目字符,并且SQL模式默认是忽略大小写,例如:select* from pet where name like‘%fy’;
当然也可以用正则表达式模式进行配。
同时在sql当中,也要注意分组函数、排序函数、统计函数等相关用法,在这里只列举一二;
Select species,count(*) from pet group by speceis;
Select* from pet order by birth desc;
查询最大值的相关操作:
Select max(age) from pet;
取前多少项记录,这个主要用于分页查询操作当中,
Select* from pet order by birth desc limit 3;取前三条记录,
Select* from pet order by birth desc limit 0,3;这个可以用于分页查询,limit后面的第一个参数,是起始位置,第二个参数是取记录条数;
有关创建表格自增长字段的写法:
Create table person(id int(4) not null auto_increment,name char(20) not null,primary key(id));
修改表操作:
向表中增加字段:注意,在这个地方,如果是增加多个字段的时候,就要用括号括起来,不然会有问题,如果是单个字段的话,不用括号也没事;
Alter table test add(address varchar(50) not null default‘xm’,email varchar(20) not null);
将表中某个字段的名字修改或者修改其对应的相关属性的时候,要用change对其进行操作;
Alter table test change email email varchar(20) not null default‘zz’;//不修改字段名
Alter table test change email Email varchar(30) not null;//修改字段名称
删除表中字段:
Alter table test drop email;//删除单个字段
Alter table test drop address,drop email;//删除多列
可以用Drop来取消主键与外键等,例如:
Alter table test drop foreign key fk_symbol;
删除索引:
Drop index index_name on table_name;
例如:drop index t on test;
向表中插入记录:注意,当插入表中的记录并不是所有的字段的时候,应该要在前面列出字段名称才行,不然会报错;
Insert into test(name) values(‘ltx’);
Insert into test values(1,’ltx’);
也可以向表中同时插入多列值,如:
Insert into test(name) values(‘ltx’),(‘hhy’),(‘xf’);
删除表中记录:
Delete from test;//删除表中所有记录;
Delete from test where id=1;//删除表中特定条件下的记录;
当要从一个表或者多个表当中查询出一些字段然后把这些字段又要插入到另一个表当中的时候,可以用insert…..select语法;
Insert into testt(name)(select name from test where id=4);
从文件中读取行插入数据表中,可以用Load data infile语句;
Load data infile‘test.txt’ into table test;
可以用Describe语法进行获取有关列的信息;
Describe test;//可以查看test表的所有信息,包括对应列字段的数据类型等;
MySql事务处理相关语法;
开始一项新的事务:start transaction或者begin transaction
提交事务:commit
事务回滚:rollback
set autocommit true|false语句可以禁用或启用默认的autocommit模式,只可用于当前连接;
例子:
Start transaction;
Update person set name=’LJB’ where id=1;
Commit| rollback;
数据库管理语句
修改用户密码:以root用户为例,则可以写成下面的;mysql–u root–p旧密码–password新密码
Mysql–u root–password 123;//将root用户的密码修改成123,由于root用户开始的时候,是没有密码的,所以-p旧密码就省略了;
例如修改一个有密码的用户密码:mysql–u ltx–p 123–password 456;
增加一个用户test1,密码为abc,让他可以在任何时候主机上登陆,并对所有数据库有查询、插入、修改、删除的权限。
Grant select,insert,update,delete on*.* to test1@”%” identified by‘abc’;
增加一个test2用户,密码为abc,让他只可以在localhost上登陆,并且可以对数据库进行查询、插入、修改、删除操作;
Grant select,insert,update,delete on mydb.* to test2@localhost identified by‘abc’;
如果不想让用户test2有密码,可以再输入以下命令消掉密码:
Grant select,insert,update,delete on mydb.* to test2@localhost identified by“”;
备份数据库常用命令:mysqldump–h host–u username–p dbname>保存路径与文件名
然后回车后,会让你输入用户密码,输入密码后,再回车就OK啦;
Mysqldump–hlocalhost–uroot–p test>E:\db\test.sql
这一命令具体解释下:
这个命令就是备份test数据库,并且将备份的内容存储为test.sql文件,并且保存在E:\db下面;
命令当中-p前面的test是数据库名,然后在数据库名后面要跟上一个”>”,然后接下来,就是写要保存的位置与保存文件的文件名;
将备份好的数据库导入到数据库当中去:也就是运行.sql文件将数据库导入数据库当中去->
首先你得创建数据库,然后运行如下命令:mysql–hlocalhost–uroot–p linux<E:\db\test.sql然后回车,再输入密码就可以啦;
解释下上面的命令:linux是就要导入的数据库名字,然后后面要紧跟着“<”符号,然后后面就是要导入的数据库文件;
将数据库导出保存成XML文件、从XML文件导入数据到数据库:
导出表中数据:mysql–X–h hostName–u userName–p Pwd–e“use DatabaseName;sql;”>xml文件名
或者用另外一种方式也行:mysqldump–xml–h hostName–u userName–p pwd dbName tableName//这一种只用于显示在当前的mysql客户端,不保存到文件当中;
相关说明:-X代表的是文件的格式是XML,然后-e一写不能掉,还有就是要用双引号将要操作的语句括起来;单引号不行;
例如:mysql–X–hlocalhost–uroot–p–e“use test;select* from pet;”>E:\db\out.xml
从XML文件导入数据到数据库:
Insert into tableName values(1,load_file(‘filepath’));
例如:insert into pet values(1,load_file(“E:\db\out.xml”));
查看数据库状态与查询进程:
Show status;//查看状态
Show processlist;//查看进程
更改用户名,用以下命令:
Update set user=”新名字” where user=”旧用户名”;
给数据库用户设置管理员权限:
Mysqladmin–h host–u username–p pwd;
以root用户为例;
Mysqladmin–h localhost–u root–p 123;
存储过程与函数
存储程序和函数分别是用create procedure和create function语句,一个程序要么是一个程序要么是一个函数,使用call语句来调用程序,并且程序只能用输出变量传回值;
要想在MySql5.1中创建子程序,必须具有create routine权限,并且alter routine和execute权限被自动授予它的创建者;
创建存储过程:
首先声明分隔符,所谓分隔符是指你通知mysql客户端你已经输入一个sql语句的字符或字符串符号,在这里我们就以“//”为分隔符;
Delimiter分隔符\
如:delimiter//
再创建存储过程:
Create procedure存储过程名()
声明存储过程开始:
begin
然后开始写存储过程体:
Select* from pet;
结束存储过程:
End;//
刚刚的例子全部写出来,完整的代码就是:
Delimiter//
Create procedure spt()//注意,这个地方,存储过程名与括号之间要有个空格
Begin
Select* from pet;
End;//到这里,整个存储过程就算写完啦
执行存储过程:
Call存储过程名();//
如,我们执行刚刚创建的存储过程,就是:
Call spt();//
需要说明的是存储过程名后面一定要加个空格,而后面那个括号,则是用于传送参数的参数列表;另外,我们创建存储过程完成后,也只是创建了,但是只有调用call存储过程名();//后才算执行完毕,才能看到存储过程的结果;
最详细的mysql安装教程
DB-Engines发布了2017年4月份的数据库排名。Oracle,mysql和MicrosoftSQLServer仍占据前三名。下面是前20名排名情况:
下面是前3名数据库从2013年到2017年的变化趋势,Oracle和SQLServer是商业的数据库,mysql是开源的,所以在国内很多公司使用开源的mysql。可以看出mysql在稳步增长(你也可以从这个网站查询最新的数据库排名:
mysql是一个关系型数据库软件,由瑞典MySQLAB公司开发,目前属于Oracle公司。为什么使用mysql:
1)mysql是开源的,所以你不需要支付额外的费用就能使用。
2)mysql支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
3)mysql使用标准的SQL数据语言形式。
4)mysql可以允许于多个系统上,并且支持多种语言。这些编程语言包括R、Python、Java、PHP、、Ruby等。
mysql分为服务端安装和客户端安装。mysql服务端是数据库软件本身用于存放数据,mysql客户端工具用于从服务端获取数据。
下面是Mysql服务端在windows电脑上的详细安装步骤。
一、下载mysql
打开搜索引擎输入mysql,第一个搜索结果是Mysql官网(MySQLCommunityDownloads)。
进入mysql官方网站后,按下图顺序点击“Downloads”->'Community'->“MySQLonWindows”->'MySQLInstaller'进入下载页面。
在下载页面拉到最下面会看到下图中的下载地址:
MSIInstaller注意有两个,这两个有什么区别呢?
第一个(大小是10多M)是联网在线安装,会在线下载安装包。
第二个(大小是200多M)是离线安装,这里我们选这个,下载到本地进行安装。点击“Downloda”进入下载页面。
虽然下载的是32为版本的,但是同时已经包含了64位版本)。
在下载页面,选择最下面的:Nothanks,juststartmydownload.,进入下载状态。
如果你懒的下载,可以在我微信公众号(猴子聊人物)中回复“资料”,从网盘下载:
下载完成后本地就有安装文件了。
二、安装mysql
双击安装软件开始安装。
2.左边界面是安装到了哪一步,下图是选择安装类型,选择默认安装就可以,然后点击“next”。
3.检测需要的安装,这里我们直接点击next
4.点击Execute开始安装
5.点击next
6.点击next
7.默认选第一个,点击“next”继续
8.默认,继续点击next
9.密码验证方式(AuthenticationMethod)这一步很重要
第一个是强密码校验,mysql推荐使用最新的数据库和相关客户端,MySQL8换了加密插件,所以如果选第一种方式,很可能你的navicat等客户端连不上mysql8。
所以这里一定要选第二个(下图红框的地方),因为我们后面使用mysql客户端navicat版本是9.X,它链接mysql用的是就是这个加密算法,所以这一步很重要。(重要的事情说三遍)
选完,点击next继续
10.设置密码,需要牢记,最好将登陆用户名和密码记录到有道云笔记或者其他地方,因为后面要用这个密码链接数据库。输入完,点击next继续。
11.默认,点击next继续
12.按下图红框的地方勾选,点击next继续
13.点击Execute执行安装
14.点击Finish
15.默认,点击Finish
16.点击next
17.输入用户名和密码,点击check,检查是否正确。成功了Next才可点击
18.点击Execute
19.按下图说明只勾选第2个“startmysqlshellaftersetup”,点击“finish”
三、验证是否安装成功
按下图操作从开始菜单中打开刚刚安装的mysql命令行客户端
2.输入密码
3.输入showdatabases;
这个命令后面一定要加分号(;),表示sql语句结束。这个命令用于表示显示默认安装的数据库,如下图显示安装成功。
我们当然不会在上面这么丑的界面上操作mysql啦,你只需要安装mysql图形界面客户端(navicat是其中一个图形界面客户端)就可以在图形界面中操作数据库了。
mysql使用教程
MySQL数据库使用教程介绍
完整 MySQL操作详见:[MySQL攻略]MySQL数据库使用教程介绍
什么叫MySQL数据库?
数据库(Database)是依照算法设计来机构、储存和管理数据信息的仓库。每一个数据库都具有一个或多个API用以创建,访问,管理,检索和拷贝存储的数据信息。
如今大家用的大多数是关系型数据库管理系统(RDBMS)来储存和管理大量数据。所谓关系型数据库,就是以关系模型为基础的数据库,凭借结合集合代数等数学概念来对数据库中的数据进行处理。
MySQL是时下最热门的关系型数据库管理系统之一,本教程将会讲解MySQL的基础知识,并帮助大家熟练应用MySQL数据库。
MySQL教程-RDBMS专业术语
在开始学习MySQL数据库前,使我们先掌握下RDBMS的一些专业术语:
数据库:数据库是一些关系表的结合。
数据表:数据的矩阵。在一个数据库中的表看上去像一个简易的excel表。
列:一列(数据元素)包括了同类型的数据。
行:一行(元组/纪录)是一组有关的数据。
冗余:储存二倍数据,性能会有所损失,但信息安全性有所提高。
主键:主键是唯一的。一个数据表中只有包含一个主键。
外键:用于关联两个表。
索引:用数据库索引可快速访问数据表中的特定信息。索引是对数据库表格中一列或多列的值作排列的一种构造方式。类似书本的目录。
MySQL教程-基础操作
进到数据库:mysql-uroot-p,登陆密码立即回车键
退出数据库:quit或是exit
查询版本号:select version();
获取当前时间:select now();
OK,本文到此结束,希望对大家有所帮助。