版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MySQL入门操作指引(一)安装篇PHP+MySQL+Linux目前已逐渐成为小型web服务器的一种经典组合。在indows环境下构筑和调试MySQL数据库是许多网站开发者白一种首选。本人在Windows98环境下初学MySQL,现将学习过程与经验总结出来供大家参考。1、下载mysql-3.23.35-win.zip并解压;2、运行setup.exe;选择d:mysql,"tyicalinstall"3、启动mysql,有如下方法:使用winmysqladmin查看1)、在DOS窗口下,进入d:/mysql/bin目录2)、win9X下)运行:mysqld在NT下运行:my
2、sqld-nt-standalone3)、此后,mysql在后台运行4)、测试mysql:(在d:/mysql/bin目录下)a)、mysqlshow正常时显示已有的两个数据库mysql和testb)、mysqlshow-urootmysql正常时显示数据库mysql里的五个表:columns_privdbhosttables_privuserc)、mysqladminversionstatusproc显示版本号、状态、进程信息等d)、mysqltest进入mysql操作界面,当前数据库为test5)、mysql关闭方法:mysqladmin-urootshutdown4、至此,MySQL已成
3、功安装,接着可以熟悉MySQL的常用命令并创建自己的数据库了。(二)入门篇上篇讲了如何安装并测试MySQL,环境建好后就可以继续我们的学习了。本篇主要熟悉一写常用命令。1、启动MySQL服务器实际上上篇已讲到如何启动MySQL。两种方法:一是用winmysqladmin,如果机器启动时已自动运行,则可直接进入下一步操作。二是在DOS方式下运行d:mysqlbinmysqld2、进入mysql交互操作界面在DOS方式下,运行:d:mysqlbinmysql出现:mysql的提示符,此时已进入mysql的交互操作方式。如果出现"ERROR2003:Can'tconnecttoMy
4、SQLserveron'localhost'(10061)“,说明彳的MySQL还没有启动。3、退由MySQL操作界面在mysql>提示符下输入quit可以随时退出交互操作界面:mysql>quitBye你也可以用control-D退出。4、第一条命令mysql>selectversion(),current_date();+|version()|current_date()|+|3.23.25a-debug|2001-05-17|+1rowinset(0.01sec)mysql>此命令要求mysql服务器告诉你它的版本号和当前日期。尝试用不同大小写操作
5、上述命令,看结果如何。结果说明mysql命令的大小写结果是一致的。练习如下操作:mysql>Select(20+5)*4;mysql>Select(20+5)*4,sin(pi()/3);mysql>Select(20+5)*4ASResult,sin(pi()/3);(AS:指定假名为Result)5、多行语句一条命令可以分成多行输入,直到出现分号“;”为止:mysql>select- >USER()- >,- >now()- >+|USER()|now()|+|ODBClocalhost|2001-05-1722:59:15|+1rowins
6、et(0.06sec)mysql>注意中间的逗号和最后的分号的使用方法。6、一行多命令输入如下命令:mysql>SELECTUSER();SELECTNOW();+|USER()|+|ODBClocalhost|+1rowinset(0.00sec)+|NOW()|+|2001-05-1723:06:15|+1rowinset(0.00sec)mysql>注意中间的分号,命令之间用分号隔开。7、显示当前存在的数据库mysql>showdatabases;+|Database|+Imysqil|test|+2rowinset(0.06sec)mysql>8、选择数据
7、库并显示当前选择的数据库mysql>USEmysqlDatabasechangedmysql>(USE和QUIT命令不需要分号结束。)mysql>selectdatabase。;+|database()|+|mysql|+1rowinset(0.00sec)9、显示当前数据库中存在的表mysql>SHOWTABLES;10、显示表(db)的内容mysql>select*fromdb;11、命令的取消当命令输入错误而又无法改变(多行语句情形)时,只要在分号出现前就可以用c来取消该条命令mysql>select->user()->cmysql>
8、这是一些最常用的最基本的操作命令,通过多次练习就可以牢牢掌捂了。了解了一些最基本的操作命令后,我们再来学习如何创建一个数据库和数据库表。1、使用SHOW语句我由在服务器上当前存在什么数据库:mysql>SHOWDATABASES;+|Database|+Imysqil|test|+3rowsinset(0.00sec)2、创建一个数据库abccsmysql>CREATEDATABASEabccs;注意不同操作系统对大小写的敏感。3、选择你所创建的数据库mysql>USEabccsDatabasechanged此时你已经进入你刚才所建立的数据库abccs.4、创建一个数据库表首
9、先看现在你的数据库中存在什么表:mysql>SHOWTABLES;Emptyset(0.00sec)说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表mytable:我们要建立一个你公司员工的生日表,表的内容包含员工姓名、性别、出生日期、出生城市。mysql>CREATETABLEmytable(nameVARCHAR(20),sexCHAR(1),->birthDATE,birthaddrVARCHAR(20);QueryOK,0rowsaffected(0.00sec)由于name、birthadd的列值是变化的,因此选择VARCHAR,其长度不一定是20。可以
10、选择从1到255的任何长度,如果以后需要改变它的字长,可以使用ALTERTABLE语句。);性别只需一个字符就可以表示:"m"或"f',因此选用CHAR(1);birth列则使用DATE数据类型。创建了一个表后,我们可以看看刚才做的结果,用SHOWTABLES显示数据库中有哪些表:mysql>SHOWTABLES;+|Tablesinmenagerie|+|mytables|+5、显示表的结构:mysql>DESCRIBEmytable;+|Field|Type|Null|Key|Default|Extra|+|name|varchar(20)
11、|YES|NULL|sex|char(1)|YES|NULL|birth|date|YES|NULL|deathaddr|varchar(20)|YES|NULL|+4rowsinset(0.00sec)6、往表中加入记录我们先用SELECT命令来查看表中的数据:mysql>select*frommytable;Emptyset(0.00sec)这说明刚才创建的表还没有记录。加入一条新记录:mysql>insertintomytable->values('abccs','f,'1977-07-07','china');Q
12、ueryOK,1rowaffected(0.05sec)再用上面的SELECT命令看看发生了什么变化。我们可以按此方法一条一条地将所有员工的记录加入到表中。7、用文本方式将数据装入一个数据库表如果一条一条地输入,很麻烦。我们可以用文本文件的方式将所有记录加入你的数据库表中。创建一个文本文件“mysql.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以CREATETABLE语句中列出的列次序给出,例如:abccsf1977-07-07chinamaryf1978-12-12usatomm1970-09-02usa文件路径为:C:ProgramFilesMySQLMySQLServe
13、r4.1bin,使用下面命令将文本文件“mytable.txt”装载到mytable表中:mysql>LOADDATALOCALINFILE"mytable.txt"INTOTABLEpet;再使用如下命令看看是否已将数据输入到数据库表中:mysql>select*frommytable;(四)学习篇(2)上篇我们学会了如何创建一个数据库和数据库表,并知道如何向数据库表中添加记录。那么我们如何从数据库表中检索数据呢?1、从数据库表中检索信息实际上,前面我们已经用到了SELECT语句,它用来从数据库表中检索信息。select语句格式一般为:SELECT检索关键词F
14、ROM被检索的表WHERE检索条件(可选)以前所使用的“*”表示选择所有的列。下面继续使用我们在上篇文章中创建的表mytable:2、查询所有数据:mysql>select*frommytable;|name|sex|birth|birthaddr|abccs|f|1977-07-07|china|mary|f|1978-12-12|usa|tom|m|1970-09-02|usa|3rowinset(0.00sec)3、修正错误记录:假如tom的出生日期有错误,应该是19730902,则可以用update语句来修正:mysql>updatemytablesetbirth=&quo
15、t;1973-09-02"wherename="tom"再用2中的语句看看是否已更正过来。4、选择特定行上面修改了tom的出生日期,我们可以选择tom这一行来看看是否已经有了变化:mysql>select*frommytablewherename="tom"|name|sex|birth|birthaddr|tom|m|1973-09-02|usa|1rowinset(0.06sec)上面WHERE的参数指定了检索条件。我们还可以用组合条件来进行查询:mysql>SELECT*FROMmytableWHEREsex="f&
16、quot;ANDbirthaddr="china"|name|sex|birth|birthaddr|abccs|f|1977-07-07|china|1rowinset(0.06sec)5、选择特定列假如你想查看表中的所有人的姓名,则可以这样操作:mysql>SELECTnameFROMmytable;+|name|+|abccs|mary|tom|+3rowinset(0.00sec)如果想列出姓名和性别两列,则可以用逗号将关键词name和birth分开:myaql>selectname,birthfrommytable;6、对行进行排序我们可以对表中的记录
17、按生日大小进行排序:mysql>SELECTname,birthFROMmytableORDERBYbirth;+|name|birth|+|tom|1973-09-02|abccs|1977-07-07|mary|1978-12-12|+3rowinset(0.00sec)我们可以用DESC来进行逆序排序:mysql>SELECTname,birthFROMmytableORDERBYbirthDESC;+|name|birth|+|mary|1978-12-12|abccs|1977-07-07|tom|1973-09-02|+3rowinset(0.00sec)7、行计数数据
18、库经常要统计一些数据,如表中员工的数目,我们就要用到行计数函数COUNT()。COUNT()函数用于对非NULL结果的记录进行计数:mysql>SELECTCOUNT(*)FROMmytable;+|COUNT(*)|+|3|+1rowinset(0.06sec)员工中男女数量:mysql>SELECTsex,COUNT(*)FROMmytableGROUPBYsex;|sex|COUNT(*)|f|2|m|1|2rowinset(0.00sec)注意我们使用了GROUPBY对SEX进行了分组。(五)多表操作前面我们熟悉了数据库和数据库表的基本操作,现在我们再来看看如何操作多个表。
19、在一个数据库中,可能存在多个表,这些表都是相互关联的。我们继续使用前面的例子。前面建立的表中包含了员工的一些基本信息,如姓名、性别、出生日期、出生地。我们再创建一个表,该表用于描述员工所发表的文章,内容包括作者姓名、文章标题、发表日期。1、查看第一个表mytable的内容:mysql>select*frommytable;|name|sex|birth|birthaddr|abccs|f|1977-07-07|china|mary|f|1978-12-12|usa|tom|m|1970-09-02|usa|2、创建第二个表title(包括作者、文章标题、发表日期)mysql>cre
20、atetabletitle(writervarchar(20)notnull,->titlevarchar(40)notnull,->senddatedate);向该表中填加记录,最后表的内容如下:mysql>select*fromtitle;|writer|title|senddate|abccs|a1|2000-01-23|mary|b1|1998-03-21|abccs|a2|2000-12-04|tom|c1|1992-05-16|tom|c2|1999-12-12|5rowsinset(0.00sec)3、多表查询现在我们有了两个表:mytable和title。利用
21、这两个表我们可以进行组合查询:例如我们要查询作者abccs的姓名、性别、文章:mysql>SELECTname,sex,titleFROMmytable,title- >WHEREname=writerANDname='abccs'|name|sex|title|abccs|f|a1|abccs|f|a2|上面例子中,由于作者姓名、性别、文章记录在两个不同表内,因此必须使用组合来进行查询。必须要指定一个表中的记录如何与其它表中的记录进行匹配。注意:如果第二个表title中的writer列也取名为name(与mytable表中的name歹U相同)而不是writer时,
22、就必须用和表示,以示区别。再举一个例子,用于查询文章a2的作者、出生地和出生日期:mysql>selecttitle,writer,birthaddr,birthfrommytable,title- >=title.writerandtitle='a2'|title|writer|birthaddr|birth|a2|abccs|china|1977-07-07|(六)修改和备份、批处理有时我们要对数据库表和数据库进行修改和删除,可以用如下方法实现:1、增加一列:如在前面例子中的mytab
23、le表中增加一列表示是否单身single:mysql>altertablemytableaddcolumnsinglechar(1);2、修改记录将abccs的single记录修改为"y":mysql>updatemytablesetsingle='y'wherename='abccs'现在来看看发生了什么:mysql>select*frommytable;+|name|sex|birth|birthaddr|single|+|abccs|f|1977-07-07|china|y|mary|f|1978-12-12|usa|
24、NULL|tom|m|1970-09-02|usa|NULL|+3、增加记录前面已经讲过如何增加一条记录,为便于查看,重复与此:mysql>insertintomytable- >values('abc','f,'1966-08-17','china','n');QueryOK,1rowaffected(0.05sec)查看一下:mysql>select*frommytable;+|name|sex|birth|birthaddr|single|+|abccs|f|1977-07-07|china|y|m
25、ary|f|1978-12-12|usa|NULL|tom|m|1970-09-02|usa|NULL|abc|f|1966-08-17|china|n|+4、删除记录用如下命令删除表中的一条记录:mysql>deletefrommytablewherename='abc'DELETE从表中删除满足由where给出的条件的一条记录。再显示一下结果:mysql>select*frommytable;+|name|sex|birth|birthaddr|single|+|abccs|f|1977-07-07|china|y|mary|f|1978-12-12|usa|N
26、ULL|tom|m|1970-09-02|usa|NULL|+5、删除表:mysql>droptable*(表1的名字),*表2的名字;可以删除一个或多个表,小心使用。6、数据库的删除:mysql>dropdatabase数据库名;小心使用。7、数据库的备份:退回到DOS:mysql>quitd:mysqlbin使用如下命令对数据库abccs进行备份:mysqldump-optabccs>abccs.dbbabccs.dbb就是你的数据库abccs的备份文件。8、用批处理方式使用MySQL:首先建立一个批处理文件mytest.sql,内容如下:useabccs;select*frommytable;selectname,sexfrommytablewherename='abccs'在DOS下运行如下命令:d:mysqlbinmysql&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 前交叉韧带知识题目与答案
- 2025-2026学年新疆维吾尔乌鲁木齐市沙依巴克区数学四下期末达标检测试题(含答案解析)
- 危机公关测试题与答案展示
- 凝血功能障碍练习题及答案展示
- 基础会计典型题目及答案解析
- 河道格宾笼石料填充高度管控工艺
- 行测轻松得分试题与答案
- 水库安全培训考卷及答案内容
- 2026保密检查自查报告(3篇)
- 商场保洁员考核试题及答案解析
- FDE模式行业观察与实践
- 2026年数字安徽有限责任公司所属企业安徽数安系统集成有限公司第1批次社会招聘18人考试备考试题及答案详解
- 2026年秋季电气工程专业开学第一课 专业认知与学业规划
- 2026年秋季六年级英语上册教学计划(人教PEP版)
- 2026 年秋季开学:教师课程标准深度解读培训
- 2026年甘肃省广播电视总台招聘事业编制工作人员20人考试参考题库及答案详解
- 《高一数学竞赛暑假系统复习课件》
- 计算机图形学 课件 第1章绪论
- HL1ST601-2023 钢结构焊接连接节点通 用图B册 (Q355钢)
- 2026年河北省保定市公安招聘辅警考试试卷含答案
- 彩钢瓦屋顶光伏支架安装施工技术方案
评论
0/150
提交评论