MySQL学习.doc_第1页
MySQL学习.doc_第2页
MySQL学习.doc_第3页
MySQL学习.doc_第4页
MySQL学习.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一关于SQL的一些基本语法和常用命令1. MYSQL:中小企业大部分都是SQL SERVER和MYSQL,SQL SERVER是由微软公司开发的,它和IIs,asp结合起来的运行效果非常不错,但是sql server是需要付费的,而mysql是完全免费的,一方面可以节约企业的开支,另一方面对于企业网站通过php语言开发的情况使用mysql运行效果更好。2. 命令行连接mysql。Mysql h hostname u username p 回车后继续输入密码password:xxxx连接成功之后会出现如下所示的界面:如果开启mysql的主机和当前用户登录的是同一台主机的话,那么可以将mysql命令中的参数 h host省略掉3. 当打开了mysql后,当想将mysql关闭的时候,可以键入命令mysqlquit,然后会显示界面上会显示bye字符,意思是mysql已经关闭了4. mysqlselect version(), current_date;查看当前mysql的版本信息和当前的日期,如下图所示:5结构化查询语言sql后面都跟着一个分号6.命令行不区分大小写,在命令行中的mysql命令同样也不区分大小写7.可以利用mysql当做一个简单的计算器,在mysql命令中,pi()会计算出pi的取值,在mysql命令中,可以向写简单的算式一样写出命令行,然后计算结果8.输出现在的系统时间:select now();9.查看当前服务器的登录用户名是谁,mysqlselect user();10.当前已经输入了一条命令的一部分,如果突然间,不想执行这一条命令了,那么可以回车后键入c命令,这样就取消了当前未完全输入的命令行的执行11.当进入一个服务器后,在选择某个具体的数据库之前,需要先知道当前的服务器上面有哪些数据库文件,命令行mysqlshow databases;会将当前服务器上所有的数据库文件给列出来12.比如想选择test数据库,可以使用命令:mysqluse test,没有分号结尾,比较特殊的是这一条命令必须中的词use和test必须出现在命令行中的同一行里面,否则会出现错误13.如果一个普通用户向管理员请求,请求允许访问某一个特定的数据库,必须数据库的名字是hospital,那么管理员为了使该用户获取相应的权限,那么管理员可以执行以下命令:Mysqlgrant all on hospital.* to mysql_usernamehostname;14.如果当前用户还没有登录服务器,用户已经知道该服务器上已经存在一个为mouth的数据库,如果用户想访问这个数据库的话,可以键入以下的命令:Mysql h hostname u username p 数据库的名字,回车后继续键入服务器的密码:password:xxxx15.当打开一个数据库后,比如使用use命令打开 或 按照14条中所述的形式打开数据库后,如果想查看数据库中所包含的表,可以使用命令: show tables;来查看数据库中的表名16利用create table 表明(字段1 类型(长度),字段2 类型(长度),);这样将创建一个表,表中的字段,字段的类型,以及字段的长度都是在()中指定的17.查看一个表中的所有字段的名称、类型等信息,利用以下命令:describe 表名18. 19.其他的向数据库中写入数据,读取数据的操作,这里就不再赘述了,这些只要知道就可以了,在实际的程序操作中,用到的时候,查阅相关操作的命令形式就可以了。需要了解一下搜索的基本格式:select what_to_select from table_name where search_contion;11.创建数据库用以下命令:create database database_name;12.在数据库中创建表,create table table_name(字段名 类型(长度),字段名 类型(长度),).13.选择数据库,use database_name14.显示数据库中的所有表的名字,show database_name;15.显示一个表的所有字段的信息及类型,describe table_name;16.当我们创建了数据库,并且选择了数据库,然后在数据库中创建了一个表table_name后,如果我们想向该表中插入数据时,可以使用load data命令从一个txt文件中读取信息,然后写入对应的表中。比如说表的名字是table_name,表中有四个字段col_1,col_2,col_3,col_4.现在我们先创建一个txt文件,比如该txt文件名是file_name.txt。文件内容大体是:Zhangjie 18 address phoneZhanggangshuai 20 address phoneZhangzhengwei 22 address phoneLoad data local infile 该文件的路径/file_name.txt into table table_name这一行命令还没有结束,需要加上一些辅助选项,比如:-fields terminated by -lines terminated by rn;Fields这行是为了分开各个字段,lines这行是为了分开每一行记录17.向表中插入一行记录,可以使用命令insert,记录会被插入到表的末尾Insert into table_nameValues(字段1的值,字段2的值,字段3的值,.);18.删除一个表中的所有记录,可以使用命令:delete form table_name;删除数据之后,可以重新使用load data或者insert命令重新写入数据。我们也可以通过这种方式修改表的记录信息。19.如果想只更改某个特定记录中某个字段的值,可以通过update命令进行修改:Update table_name set 字段名=取值 where 条件;20.select *from table_name where 条件; *代表选择所有字段,也可以用select搜索特定的字段的取值21.在搜索条件中,如果想搜索时间在某个日期之后的,比如搜索生日的字段birthday在2011-8-9之后的,可以将搜索条件设置为birhday=2011-8-9在搜索条件中,可以包含多个搜索条件,各个搜索条件用AND,OR进行连接22.如果想从一个表中选择某一个字段对应的完整信息,就是一整列,可以比如搜索table_name中的字段colomn_1对应的列的所有信息,可以使用命令:Select column_1 from table_name;在搜索的时候可以同时搜索多个字段,这几个字段之间用逗号隔开,比如:select column_1,column_2 from table_name;23.如果在搜索某个字段时该字段对应的一列中有多个重复的取值,如果通过select进行搜索,不想看到重复的取值时,可以在要搜索的字段前加上一个关键字distinct,这样就不会出现重复的取值。24.在搜索出的结果中,如果相对结果进行排序,可以在select语句的最后加上order by 字段取值,这样就会对搜索出的结果按照order by后的字段进行排序显示比如搜索姓名以及对应地址,并且按照地址进行排序,可以使用命令:Select name,address from table_name order by address;25.在对搜索记录进行排序的时候,只是用order by进行搜索的时候一般是默认按照递增顺序,如果想按照递减的顺序排序,可以用:order by 字段名 desc。这个desc关键字就是按照递减的顺序排序。26.确定某个字段的取值是不是NULL,不能用普通的比较运算符,应该用IS NULL,IS NOT NULL.27.YY-MM-DD,年月日格式是照样的时候,可以通过YEAR(),MONTH(),DAY(),分别提取出其中的YY,MM,DD用于运算或者其他用途28.order by asc,递增排序Order by desc,递减排序29.在sql中,模式匹配,匹配单个任意字符要用符号_,匹配任意多个字符要用到%。在搜索条件中要用到like,而不能用=。比如:Select * from table_name where name like z%;好像关键字like,以及模式匹配字符_,%只能在搜索条件中使用。30.这里的匹配可以使用_和%这两个字符,也可以使用正则表达式REGEXP,NOT REGEXP,这里就先不介绍正则表达式的匹配了。学java的时候学过正则表达式,用的时候自己查一下就行了。31.如果想查看一个表中一共有多少条记录,可以使用:select count(*) from table_name;如果一个字段对应的列中含有重复的取值,那么如果想将这些重复的取值看做是一组,我们只想知道这样的取值出现过多少次的话,那么可以这样写:Select 字段名称, count(*) from table_name group by 字段名;32.查看当前选择的数据库,可以使用select database();33.对于mysql要执行的命令,还可以将这些命令写入一个批处理文件,然后通过mysql执行这个批处理文件。34.选择出最大值,用max(字段名),比如想选择出price字段对应列中的最大值,可以使用:select max(price) as 要显示的名字 from table_name;下面需要看的是:1. 如何实现程序与数据库的连接,判断连接成功与否,相关的异常处理等2. 如何在程序代码中嵌入sql语言进行相应的操作3. 如何将数据库中的内容通过视图进行显示4. 现在的mouth数据库中的各个字段的定义不够明晰,意义太含糊,表述不清,在程序的开发过程中,可能会因引发很多错误,应力图修改到精简但含义丰富的程度5. mfc中标签页的创建,树状控件的使用,等等mfc方面的知识6. 总的来说,感觉不是很难,希望自己多多努力,尽快完成任务PDF已经看到了第182页二关于CONNECTOR/ODBC1.ODBC(Open Database Connectivity),开放式数据库连接性2.Connector/ODBC是一个描述mysql odbc驱动程序mysql ab产品系列的名称。也成为myODBC驱动程序。3.myODBC可用于mySQL支持的所有主要平台,如windows 95,98,Me,NT,2000,xp,2003以及所有的Unix操作系统4.开放式数据库连接性ODBC是广泛接受的用于数据库访问的应用程序编程接口(API),它基于针对数据库api的CLI(调用层接口)规范,并采用了结构化查询语言(SQL)作为其数据库访问语言。5.如下图所示,MyODBC体系结构,也就是connector/odbc,包含五个部分。应用程序Application:它通过标准的ODBC API来访问MySQL服务器上的数据库,并且对数据库进行操作。它不关心系统的配置,数据库的位置、存储方式,仅需要知道数据源DSN(database source name)的名字就可以了。一般通过ODBC访问数据库的过程是:* 选择MySQL服务器与之连接* 提交要执行的sql语句* 检索结果* 处理错误* 提交或回滚包含sql语句的事务断开与mysql服务器的连接驱动管理器drive manager:驱动管理器是一个负责应用程序Application和驱动程序Connector/ODBC间进行通信的库。它的主要任务是:* 解析数据源名(DSN) - 应用程序提供数据源的名字,drive manager负责解析,然后应用程序知晓了数据源的位置、存储方式等信息,然后进而可以对其进行访问* 加载和卸载驱动程序 - 应用程序连接数据库的时候加载驱动程序,与服务器断开连接的时候卸载驱动程序* 处理ODBC调用,或将其传递给驱动程序MyODBC驱动程序(Connector/ODBC):MyODBC驱动程序是用于实施ODBC API所提供功能的库,它负责处理ODBC函数调用,将SQL请求提交给MySQL服务器,并将结果返回给应用程序。如有必要,驱动程序会更改应用程序的请求,以便该请求符合MySQL支持的语法。ODBC.INI:ODBC.INI是ODBC配置文件,其中保存了连接到服务器所需要的驱动信息和数据库信息。驱动管理器将使用它来确定加载哪一个驱动程序(通过使用数据源名字)。驱动程序将根据指定的dsn使用它来读取连接参数。MySQL服务器:MySQL服务器是数据源。它是:l 一种数据库管理系统(DBMS),database management systeml 一种关联数据库管理系统(RDBMS),Relational database management systeml 开放源码软件7. 用户dsn和系统dsn的区别,前者只能由一个用户访问,后者是使用此台计算机的所有用户均可以进行访问。8. 学会在控制面板中配置数据源。9. 注意在navicat premium中,我们可以创建多个连接name1,name2,name3等等吧,这多个连接都指向本机上的可用的数据库,就是说,当我们展开这些连接时,可以看到本机上存在的相同的数据库。10. 在navicat premium中创建的连接,已经mysql命令连接后,就可以访问该连接中包含的所有的数据库。在控制面板中创建的数据源,由于在配置的过程中制定了具体的数据库,所以,我们只能连接一个特定的数据库。11. 了解几个名词:ADO:ActiveX Data Object ActiveX数据对象DAO:Data Access Object 数据访问对象RDO:Remote Data Object 远程数据对象12. ODBC连接方法(必须先注册数据源-DSN):* 连接access数据库Set conn = Server.CreateObject(ADODB.Connection)conn.Open DSN=注册名* 连接SQL Server数据库set conn=Server.CreateObject(ADODB.Connection)conn.connectionstring=DSN=注册名;UID=sa;PWD=sa;conn.open三关于Navicat Premium1在navicat premium中除了通过视图的方式,手动创建数据库和表之外,我们也可以通过sql语句,来实现对数据库的创建,这个在前面已经提到过了。Sql语句命令在navicat premium中的 工具命令 这个菜单项选中时可以执行。2.创建完数据库以及表后,我们可以将数据库的内容进行转储,转储后,如果我们想新建一个数据库,但是数据库的内容是通过转储后的文件创建的,就是说,新创建的数据库的内容与转储文件中的内容是一样的,那么,很简单。可以在navicat premium中打开 工具命令,然后选择工具栏上的“载入”按钮,选择相应的文件,然后敲回车键,那么相应的命令就会被执行了。相应的数据库也就被创建了。四MFC连接MySQL数据库的方法1.摘要:关于MFC连接MySql数据库的深入研究。步骤/方法1. 一、首先安装mysql:我这里用的版本是mysql-essential-5.1.45-win32.msi。安装时遇到一个小问题在这里说一下:首次安装到最后一步启动服务时卡住了,电脑死机,我强制退出,结果不能正常运行,然后卸载重装,由于第一次设置了密码,即使卸载了文件依然存在,所以第二次安装遇到设置密码时它出现要输入前一次设置的密码,在这里什么都不要输入,不然在最后一步会出错(我重装了好几次,才在baidu上查到是这个问题)。2. 二、VC6.0的设置(1)打开VC6.0 工具栏Tools菜单下的Options选项,在Directories的标签页中右边的“Show directories for:”下拉列表中选中“Includefiles”,然后在中间列表框中添加你本地安装MySQL的include目录路径。(我的是D:Program FilesMySQLMySQL Server 5.0include)。(2)在上面说到的“Show directories for:”下拉列表中选中“Library files”,然后添加你本地安装MySQL的Lib目录路径。Lib目录下还有debug和opt两个目录,建议选debug。(我的是D:Program FilesMySQLMySQL Server 5.0libdebug)。(3)在“Project settings-Link:Object/library modules”里面添加“libmysql.lib”。(4)在你要连接数据库的文件里加入#include winsock.h和#include mysql.h两个文件,这里要注意这两个头文件的顺序不要颠倒,否则会报错(这个问题害我baidu了一个上午)。3. 三、数据库、表的创建打开“开始-所有程序-MySQL-MySQL Server 5.0-MySQL Command Line Client.exe”,如果没有设置密码就直接按回车,会提示服务器启动成功。mysql SHOW DATABASES;/显示所有的数据库,注意一定要 敲“;”后再按回车mysql CREATE DATABASE mydb;/创建数据库mydbmysql USE mydb;/选择你所创建的数据库mydbmysql SHOW TABLES; /显示数据库中的表mysql CREAT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论