mysql数据库基础教程
数据库从最初的数据文件的简单集合发展到今天的大型数据库管理系统已经成为咱们平常生活中不可缺乏的组成部分。若是不借助数据库的帮助,许多简单的工做将变得冗长乏味,甚至难以实现。尤为是象银行、院校和图书馆这样的大型组织更加依靠数据库系统实现其正常的运做。再看互联网上,从搜索引擎到在线商场,从网上聊天到邮件列表,都离不开数据库。
mysql
整体来讲,mysql数据库具备如下主要特色:
1.同时访问数据库的用户数量不受限制;
2.能够保存超过50,000,000条记录;
3.是目前市场上现有产品中运行速度最快的数据库系统;
4.用户权限设置简单、有效。
现在,包括siemens和silicongraphics这样的国际知名公司也开始把mysql做为其数据库管理系统,这就更加证实了mysql数据库的优越性能和广阔的市场发展前景。
本文将重点向读者介绍mysql数据库的一些基本操做,包括如何与数据库创建链接,若是设置数据库,以及如何执行基本的命令等。但愿可以对读者学习和掌握mysql数据库有所助益。
入门
通常来讲,咱们访问mysql数据库时,首先须要使用telnet远程登陆安装数据库系统的服务器,而后再进入mysql数据库。mysql数据库的链接命令以下:
mysql-hhostname-uusername-p[password]
或者:
mysql-hhostname-uusername--password=password
其中,hostname为装有mysql数据库的服务器名称,username和password分别是用户的登陆名称和口令。
若是mysql数据库安装和配置正确的话,用户在输入上述命令以后会获得以下系统反馈信息:
welcometothemysqlmonitor.commandsendwith;org.
yourmysqlcidis49toserverversi3.23-beta-log
typehelpforhelp.
mysql$#@62;
这样,用户就成功进入了mysql数据库系统,能够在mysql$#@62;命令提示符以后输入各类命令。下面,咱们列出一些mysql数据库的主要管理命令供读者参考,用户也能够经过在命令符以后输入help,h或?获得如下命令的简单说明。
mysql$#@62;help
help(h)显示命令帮助
?(h)做用同上
clear(c)清除屏幕内容
c(r)从新链接服务器,可选参数为db(数据库)和host(服务器)
exit()退出mysql数据库,做用与quit命令相同
go(g)将命令传送至mysql数据库
print(p)打印当前命令
quit(q)退出mysql数据库
status(s)显示服务器当前信息
use(u)打开数据库,以数据库名称做为命令参数
上述命令主要用于mysql数据库的系统管理,若是用户须要对某个具体的数据库进行操做,可使用use命令进入该数据库,格式以下:
mysql$#@62;usedbname;
这里须要提醒读者注意的一点就是mysql数据库要求使用者在全部命令的结尾处使用“;”做为命令结束符。
数据类型和数据表
从本质上说,数据库就是一种不断增加的复杂的数据组织结构。在mysql数据库中,用于保存数据记录的结构被称为数据表。而每一条数据记录则是由更小的数据对象,即数据类型组成。所以,整体来讲,一个或多个数据类型组成一条数据记录,一条或多条数据记录组成一个数据表,一个或多个数据表组成一个数据库。咱们能够把上述结构理解为以下形式:
database$#@60;table$#@60;record$#@60;datatype
数据类型分为不一样的格式和大小,能够方便数据库的设计人员建立最理想的数据结构。可否正确的选择恰当的数据类型对最终数据库的性能具备重要的影响,所以,咱们有必要首先对数据类型的有关概念进行较为详细的介绍。
mysql数据类型
mysql数据库提供了多种数据类型,其中较为经常使用的几种以下:
char(m)
char数据类型用于表示固定长度的字符串,能够包含最多达255个字符。其中m表明字符串的长度。
举例以下:
car_modelchar(10);
varchar(m)
varchar是一种比char更加灵活的数据类型,一样用于表示字符数据,可是varchar能够保存可变长度的字符串。其中m表明该数据类型所容许保存的字符串的最大长度,只要长度小于该最大值的字符串均可以被保存在该数据类型中。所以,对于那些难以估计确切长度的数据对象来讲,使用varchar数据类型更加明智。varchar数据类型所支持的最大长度也是255个字符。
这里须要提醒读者注意的一点是,虽然varchar使用起来较为灵活,可是从整个系统的性能角度来讲,char数据类型的处理速度更快,有时甚至能够超出varchar处理速度的50%。所以,用户在设计数据库时应当综合考虑各方面的因素,以求达到最佳的平衡。
举例以下:
car_modelvarchar(10);
int(m)[unsigned]
int数据类型用于保存从-2147483647到2147483648范围以内的任意整数数据。若是用户使用unsigned选项,则有效数据范围调整为0-4294967295。举例以下:
light_yearsint;
按照上述数据类型的设置,-24567为有效数据,而3000000000则由于超出了有效数据范围成为无效数据。
再例如:
light_yearsintunsigned;
这时,3000000000成为有效数据,而-24567则成为无效数据。
float[(m,d)]
float数据类型用于表示数值较小的浮点数据,能够提供更加准确的数据精度。其中,m表明浮点数据的长度(即小数点左右数据长度的总和),d表示浮点数据位于小数点右边的数值位数。
举例以下:
rainfallfloat(4,2);
按照上述数据类型的设置,42.35为有效数据,而324.45和3.542则由于超过数据长度限制或者小数点右边位数大于规定值2成为无效数据。
date
date数据类型用于保存日期数据,默认格式为yyyy-mm-dd。mysql提供了许多功能强大的日期格式化和操做命令,本文没法在此一一进行介绍,感兴趣的读者能够参看mysql的技术文档。
date数据类型举例以下:
the_datedate;
text/blob
text和blob数据类型能够用来保存255到65535个字符,若是用户须要把大段文本保存到数据库内的话,能够选用text或blob数据类型。text和blob这两种数据类型基本相同,惟一的区别在于text不区分大小写,而blob对字符的大小写敏感。
set
set数据类型是多个数据值的组合,任何部分或所有数据值都是该数据类型的有效数据。set数据类型最大能够包含64个指定数据值。
举例以下:
transportset("truck","wagnotnull;
根据上述数据类型的设置,truck、wag
enum
enum数据类型和set基本相同,惟一的区别在于enum只容许选择一个有效数据值。例如:
transportenum("truck","wagnotnull;
根据上述设置,truck或wag
以上,咱们只是对用户使用mysql数据库的过程当中常常用到的数据类型进行了简单介绍,有兴趣的读者,能够参看mysql技术文档的详细说明。
数据记录
一组通过声明的数据类型就能够组成一条记录。记录小到能够只包含一个数据变量,大到能够知足用户的各类复杂需求。多条记录组合在一块儿就构成了数据表的基本结构。
数据表
在咱们执行各类数据库命令以前,首先须要建立用来保存信息的数据表。咱们能够经过如下方式在mysql数据库中建立新的数据表:
mysql>createtabletest(namevarchar(15),emailvarchar(25),phint,idintnotnullauto_increment,primarykey(id));
系统反馈信息为:
queryok,0rowsaffected(0.10sec)
mysql>
这样,咱们就在数据库中建立了一个新的数据表。注意,同一个数据库中不能存在两个名称相同的数据表。
这里,咱们使用createtable命令建立的test数据表中包含name,email,ph
下面,咱们来看一看建立数据表时所用到的几个主要的参数选项。
primarykey
具备primarykey限制条件的字段用于区分同一个数据表中的不一样记录。由于同一个数据表中不会存在两个具备相同值的primarykey字段,因此对于那些须要严格区分不一样记录的数据表来讲,primarykey具备至关重要的做用。
auto_increment
具备auto_increment限制条件的字段值从1开始,每增长一条新记录,值就会相应地增长1。通常来讲,咱们能够把auto_increment字段做为数据表中每一条记录的标识字段。
notnull
notnull限制条件规定用户不得在该字段中插入空值。
其它数据表命令
除了建立新的数据表以外,mysql数据库还提供了其它许多很是实用的以数据表做为操做对象的命令。
显示数据表命令
mysql>showtables;
该命令将会列出当前数据库下的全部数据表。
显示字段命令
mysql>showcolumnsfromtablename;
该命令将会返回指定数据表的全部字段和字段相关信息。
数据操做
对mysql数据库中数据的操做能够划分为四种不一样的类型,分别是添加、删除、修改和查询,咱们将会在本节中对此进行介绍。可是,首先咱们须要强调的一点就是mysql数据库所采用的sql语言同其它绝大多数计算机编程语言同样,对命令的语法格式有严格的规定。任何语法格式上的错误,例如不正确的使用括号、逗号或分号等均可能致使命令执行过程当中的错误。所以,建议用户在学习时必定要多留心语法格式的使用。
添加记录
用户可使用insert命令向数据库中添加新的记录。
例如:
mysql>insertintotestvalues(john,carrots@mail.com,5554321,null);
上述命令正确执行后会返回如下信息:
queryok,1rowaffected(0.02sec)
mysql$#@62;
对上述命令有几点咱们须要说明。首先,全部的字符类型数据都必须使用单引号括起来。其次,null关键字与auto_increment限制条件相结合能够为字段自动赋值。最后,也是最重要的一点就是新记录的字段值必须与数据表中的原字段相对应,若是原数据表中有4个字段,而用户所添加的记录包含3个或5个字段的话都会致使错误出现。
mysql数据库的一个很是显著的优点就是能够对整数、字符串和日期数据进行自动转换。所以,用户在添加新记录时就没必要担忧由于数据类型不相符而出现错误。
查询数据
若是咱们没法从数据库中查找和读取数据的话,数据库就丧失了其存在和使用的价值。
在mysql数据库中,用户可使用select命令进行数据的查询。
例如:
mysql>select*fromtest
mysql>where(name="john");
上述命令会返回以下结果:
nameemailphid
johncarrots@mail.com55543211
删除数据
用户除了能够向数据表中添加新的记录以外,还能够删除数据表中的已有记录。删除记录可使用delete命令。
例如:
mysql>deletefromtest
mysql>where(name="");
该命令将会删除test数据表中name字段的值为john的记录。一样,
mysql>deletefromtest
mysql>where(ph=5554321);
将会从数据表中删除ph
修改数据
mysql数据库还支持用户对已经输入到数据表中的数据进行修改。修改记录可使用update命令。
例如:
mysql>updatetestsetname=mary
mysql>wherename="john";
上述命令的执行结果以下:
nameemailphid
marycarrots@mail.com55543211
到此为止,咱们对mysql数据库数据操做的核心概念,即数据的添加、删除、修改和查询进行了简单的介绍。sql