还剩14页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
MySql学习笔记MySql概述:MySql是一种种关联数据库管理系统,所谓关联数据库就是将数据保留在不一样的表中,而不是将所有数据放在一种大的仓库中这样就增长了速度与提高了灵活性并且MySql软件是一种开放源码软件注意,MySql所支持的TimeStamp的最大范围的问题,在32位机器上,支持的取值范围是年份最佳不要超过2030年,然后假如在64位的机器上,年份可以到达21,而对于date、与datetime这两种类型,则没有关系,都可以表到达9999-12-31,因此这一点得注意下;尚有,在安装MySql的时候,我们一般都选择Typical(经典安装)就可以了,当然,假如尚有其他用途的话,那最佳选择Complete(完全安装);在安装过程中,一般的还会让你进行服务器类型的选择,分别有三种服务器类型的选择,(Developer(开发机)、Server Machine(服务器)、Dedicated MySqlServerMachine(专用MYSQL服务器)),选择哪种类型的服务器,只会对配置向导对内存等有影响,否则其他方面是没有什么影响的;因此,我们假如是开发者,选择开发机就可以啦;然后接下来,还会有数据库使用状况对话框的选择,我们只要按照默认就可以啦;连接与断开服务器连接:在windows命令提醒符下输入类似如下命令集:mysql-h host-u user-p例如,我在用的时候输入的是:mysql-h localhost-u root-p然后会提醒要你输入顾客密码,这个时候,假如你有密码的话,就输入密码敲回车,假如没有密码,直接敲回车,就可以进入到数据库客户端;连接远程主机上的mysql,可以用下面的命令:mysql-h
159.
0.
45.1-u root-p123断开服务器:在进入客户端后,你可以直接输入quit然后回车就可以了;下面就数据库有关命令进行有关阐明mysqladmin-uroot-pabl2password djg345
三、增长新顾客(注意和上面不一样,下面的由于是MYSQL环境中的命令,所后来面都带一种分号作为命令结束符)格式:grant select on数据库.*to顾客名@登录主机identified by、”密码〃例
1、增长一种顾客testl密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限首先用以root顾客连入MYSQL,然后键入如下命令grant select,insert,update,delete on*.*to test入\%\Identifiedby\abc\;但例1增长的顾客是十分危险的,你想如某个人懂得testl的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可认为所欲为了,处理措施见例2例
2、增长一种顾客test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指当地主机,即MYSQL数据库所在的那台主机),这样顾客虽然用懂得test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了grant select,insert,update,delete onmydb.*to test2@localhostidentified by\〃abc\〃;假如你不想test2有密码,可以再打一种命令将密码消掉grant select,insert,update,delete onmydb.*to test2@localhostidentified by(下篇)在上篇我们讲了登录、增长顾客、密码更改等问题下篇我们来看看MYSQL中有关数据库方面的操作注意:你必须首先登录到MYSQL中,如下操作都是在MYSQL的提醒符下进行的,并且每个命令以分号结束
一、操作技巧
1、假如你打命令时,回车后发现忘掉加分号,你不必重打一遍命令,只要打个分号回车就可以了也就是说你可以把一种完整的命令提成几行来打,完后用分号作结束标志就0K
2、你可以使用光标上下键调出此前的命令但此前我用过的一种MYSQL旧版本不支持我目前用的是mysql-
3.
23.27-beta-win
二、显示命令
1、显示数据库列表show databases;刚开始时才两个数据库:mysql和testo mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增顾客,实际上就是用这个库进行操作
2、显示库中的数据表use mysql;,,打开库,学过FOXBASE的一定不会陌生吧show tables;
3、显示数据表的构造describe表名;
4、建库create database库名;
5、建表use库名;create table表名(字段设定列表);
6、删库和删表drop database库名;drop table表名;
7、将表中记录清空delete from表名;
8、显示表中的记录select*from表名;
三、一种建库和建表以及插入数据的实例drop databaseif existsschool;〃假如存在SCHOOL则删除create databaseschool;〃建立库SCHOOLuse school;〃打开库SCHOOLcreate tableteacher//建立表TEACHERid int3auto incrementnot nullprimary key,name char10not null,address varchar50default深圳\,year date;〃建表结束〃如下为插入字段insert intoteacher values\\,\glchengang、八深圳一中1976-10-10\,;insert intoteacher values\\,\jack、,\深圳一中1975-12-23V;注:在建表中1将ID设为长度为3的数字字段:int3并让它每个记录自动加一auto_increnient并不能为空not null并且让他成为主字段primary key2将NAME设为长度为10的字符字段3将ADDRESS设为长度50的字符字段,并且缺省值为深圳varchar和char有什么区别呢,只有等后来的文章再说了4将YEAR设为日期字段假如你在mysql提醒符键入上面的命令也可以,但不以便调试你可以将以上命令原样写入一种文本文献中假设为school,sql,然后复制到c:\\下,并在DOS状态进入目录\\mysql\\bin,然后键入如下命令mysql-uroot-p密码c:\\school.sql假如成功,空出一行无任何显示;如有错误,会有提醒(以上命令已经调试,你只要将〃的注释去掉即可使用)
四、将文本数据转到数据库中
1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\\n来替代.例3rose深圳二中1976-10-104mike深圳一中1975-12-
232、数据传入命令load datalocal infile、”文献名\into table表名;注意:你最佳将文献复制到\\mysql\\bin目录下,并且要先用use命令打表所在的库
五、备份数据库(命令在DOS的\\mysql\\bin目录下执行)mysqldump-opt schoolschool.bbb注释:将数据库school备份到school,bbb文献,school,bbb是一种文本文献,文献名任取,打开看看你会有新发现后记:其实MYSQL的对数据库的操作与其他的SQL类数据库大同小异,您最佳找本将SQL的书看看我在这里只简介某些基本的,其实我也就只懂这些了,呵呵最佳的MYSQL教程还是“晏子”译的“MYSQL中文参照手册“不仅免费每个有关网站均有下载,并且它是最权威的可惜不是象\〃PHP4中文手册〃那样是chm的格式,在查找函数命令的时候不太以便你可以输入如下命令对数据库表格或者数据库进行有关操作,在这里就省略了,然后直接进行文字阐明了;Select version,current-date;〃从服务器得到目前mysql的版本号与目前日期Select userO;〃得到目前数据库的所有顾客Use databasename;进入到指定的数据库当中,然后就可以操作这个数据库当中的表格了Show databases;〃查询目前数据库中所有的数据库,并且显示出来;Create batabasedatabasename;仓立数据库,例如create databasemanager;Show tables;〃查看目前数据库中的所有表格;Create tabletablename colums;创立表,并且给表指定有关列,例如create tablepet namevarchar20,owner varchar20,species varchar20,sex char1,birthdate,death date;Describe tablename;将表当中的所有信息详细显示出来,例如describe pet;可以用命令一次插入多条记录,例如Insert intopetvalues„Puffball,Diane,hamster,f,1993-12-3,null,„Puffball,Diane,hamster,f,1993-12-3,now;Select*from pet;从pet表当中查询出所有的记录,显示出来;Delete from pet whereid=l;删除ID为1的那一条记录;Update petset birth=一1一3where name=Bowser;更新name为Bowser的记录当中的birth字段的值;Select distinctowner from pet;从pet表中选择出owner字段的值唯一的行,假如有多行记录这个字段的值相似,则只显示最终一次出现这一值的一行记录;有关日期计算:Select name,birth,curdate,year curdate-year birthas agefrom pet;此处,year函数用于提取对应字段的年份,当然类似的尚有month,day在mysql当中,sql语句可以使用like查询,可以用配任何单个字符,用“%”配任意数目字符,并且SQL模式默认是忽视大小写,例如select*from petwherename like„%fy;当然也可以用正则体现式模式进行配同步在sql当中,也要注意分组函数、排序函数、记录函数等有关使用方法,在这里只歹U举一二;Select species,count*from petgroup byspeceis;Select*from petorder bybirth desc;查询最大值的有关操作:Select maxage from pet;取前多少项记录,这个重要用于分页查询操作当中,Select*frompetorder bybirth desclimit3;取前三条记录,Select*frompetorder bybirth desclimit0,3;这个可以用于分页查询,limit背面的第一种参数,是起始位置,第二个参数是取记录条数;有关创立表格自增长字段的写法Create tableperson idint4not nullauto_increment,name char20not null,primary keyid;修改表操作向表中增长字段:注意,在这个地方,假如是增长多种字段的时候,就要用括号括起来,否则会有问题,假如是单个字段的话,不用括号也没事;Alter table test addaddressvarchar50not nulldefault„xm,emailvarchar20not null;将表中某个字段的名字修改或者修改其对应的有关属性的时候,要用change对其进行操作;Alter tabletest changeemail emailvarchar20not nulldefault,,zz;〃不修改字段名Alter tabletest changeemail Emailvarchar30not null;〃修改字段名称删除表中字段Alter tabletest drop email;〃删除单个字段Alter tabletest dropaddress,dropemail;//删除多列可以用Drop来取消主键与外键等,例如Alter tabletest dropforeign keyfk_symbol;册U除索弓[:Drop indexindex nameon tablename;例如drop indextontest;向表中插入记录:注意,当插入表中的记录并不是所有的字段的时候,应当要在前面列出字段名称才行,否则会报错;Insert into testname values„ltx;Insert into test values1,ltx;也可以向表中同步插入多列值,如Insert intotest namevalues GJtx,„hhy,„xf;删除表中记录Delete fromtest;〃删除表中所有记录;Delete fromtest whereid=l;〃删除表中特定条件下的记录;当要从一种表或者多种表当中查询出某些字段然后把这些字段又要插入到另一种表当中的时候,可以用insert…・.select语法;Insert intotesttname selectname fromtest whereid=4;从文献中读取行插入数据表中,可以用Load datainfile语句;Load datainfile,,test.txt intotabletest;可以用Describe语法进行获取有关列的信息;Describe test;〃可以查看test表的所有信息,包括对应列字段的数据类型等;MySql事务处理有关语法;开始一项新的事务start transaction或者begin transaction提交事务commit事务回滚:rollbackset autocommittrue|false语句可以禁用或启用默认的autocommit模式,只可用于目前连接;例子Start transaction;Update personset name=?LJB whereid=l;Commit|rollback;数据库管理语句修改顾客密码以root顾客为例,则可以写成下面的;mysql-u root-p旧密码-password新密码Mysql-u root-password123;〃将root顾客的密码修改成123,由于root顾客开始的时候,是没有密码的,因此-p旧密码就省略了;例如修改一种有密码的顾客密码:mysql-u Itx-p123-password456;增长一种顾客testl,密码为abc,让他可以在任何时候主机上登陆,并对所有数据库有查询、插入、修改、删除的权限Grant select,insert,update,delete on*.*to testl@%”identifiedby„abc;增长一种test2顾客,密码为abc,让他只可以在localhost上登陆,并且可以对数据库进行查询、插入、修改、删除操作;Grant select,insert,update,delete onmydb.*totest2@localhostidentified by,,abc;假如不想让顾客test2有密码,可以再输入如下命令消掉密码Grant select,insert,update,delete onmydb.*totest2@localhostidentified by;备份数据库常用命令:mysqldunip-h host-u username-p dbname〉保留途径与文献名然后回车后,会让你输入顾客密码,输入密码后,再回车就0K啦;Mysqldump-hlocalhost-uroot-p testE:\db\test.sql这一命令详细解释下这个命令就是备份test数据库,并且将备份的内容存储为test,sql文献,并且保留在E:\db下面;命令当中-P前面的test是数据库名,然后在数据库名背面要跟上一种”,然后接下来,就是写要保留的位置与保留文献的文献名;将备份好的数据库导入到数据库当中去:也就是运行.sql文献将数据库导入数据库当中去首先你得创立数据库,然后运行如下命令:mysql-hlocalhost-uroot-plinux〈E:\db\test.sql然后回车,再输入密码就可以啦;解释下上面的命令linux是就要导入的数据库名字,然后背面要紧跟着符号,然后背面就是要导入的数据库文献;将数据库导出保留成XML文献、从XML文献导入数据到数据库导出表中数据mysql-X-h hostName-u userName-p Pwd-e“useDatabaseName;sql;”xml文献名或者用此外一种方式也行mysqldump-xml-h hostName-u userName-p pwddbNametabi eName//这一种只用于显示在目前的mysql客户端,不保留到文献当中;有关阐明:-X代表的是文献的格式是XML,然后-e一写不能掉,尚有就是要用双引号将要操作的语句括起来;单引号不行;例如mysql-X-hlocalhost-uroot-p-e“use test;select*frompet;”E:\db\out.xml从XML文献导入数据到数据库Insert intotableName values1,load_file„;例如insert intopet values1,load_file uE:\db\out.xmlv;查看数据库状态与查询进程Show status;〃查看状态Show processlist;〃查看进程更改顾客名,用如下命令Update setuser=新名字where user二”旧顾客名”;给数据库顾客设置管理员权限Mysqladmin-h host-u username-p pwd;以root顾客为例;Mysqladmin-h localhost-u root-p123;存储过程与函数存储程序和函数分别是用create procedure和create function语句,一种程序要么是一种程序要么是一种函数,使用call语句来调用程序,并且程序只能用输出变量传回值;要想在MySql
5.1中创立子程序,必须具有create routine权限,并且alterroutine和execute权限被自动授予它的创立者;创立存储过程首先申明分隔符,所谓分隔符是指你告知mysql客户端你已经输入一种sql语句的字符或字符串符号,在这里我们就以“〃”为分隔符;Delimiter分隔符\如delimiter//再创立存储过程Create procedure存储过程名申明存储过程开始begin然后开始写存储过程体Select*frompet;结束存储过程End;//刚刚的例子所有写出来,完整的代码就是Delimiter//Create procedurespt〃注意,这个地方,存储过程名与括号之间要有个空格BeginSelect*frompet;End;〃到这里,整个存储过程就算写完啦执行存储过程Call存储过程名;//如,我们执行刚刚创立的存储过程,就是Call spt();//需要阐明的是存储过程名背面一定要加个空格,而背面那个括号,则是用于传送参数的参数列表;此外,我们创立存储过程完毕后,也只是创立了,不过只有调用call存储过程名();〃后才算执行完毕,才能看到存储过程的成果;有诸多朋友虽然安装好了mysql但却不知怎样使用它在这篇文章中我们就从连接MYSQL、修改密码、增长顾客等方面来学习某些MYSQL的常用命令
一、连接MYSQL格式mysql-h主机地址-u顾客名,p顾客密码
1、例1连接到本机上的MYSQL首先在打开DOS窗口,然后进入目录mysqlbin,再键入命令mysql-uroot-P,回车后提醒你输密码,假如刚安装好MYSQL,超级顾客root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提醒符是:mysql》
2、例2:连接到远程主机上的MYSQL假设远程主机的IP为
110.no.no.no,顾客名为root,密码为abcdl23则键入如下命令:mysql-hllO.
110.
110.110-uroot-pabcdl23(注:u与root可以不用加空格,其他也同样)
3、退出MYSQL命令exit(回车)
二、修改密码格式:mysqladmin-u顾客名-p旧密码password新密码
1、例1:给root加个密码abl2首先在DOS下进入目录mysqlbin,然后键入如下命令mysqladmin-uroot-password abl2注由于开始时root没有密码,因此-P旧密码一项就可以省略了
2、例2:再将root的密码改为djg345o。
个人认证
优秀文档
获得点赞 0