兰色精灵 发表于 2015-1-16 22:36:35

MSSQL编程:MY SQL 经常使用命令

你看出了作者的深度?深处半米!当初是冲那么多的大牛给他写序才买的,后来才发现无啥内容,作者也只是才用几年的新手,百花了几十两银子,再次感叹当今社会的虚伪与浮躁有良多伴侣固然安装好了mysql但却不知怎样利用它。在这篇文章中我们就从毗连MYSQL、修正暗码、增添用户等方面来进修一些MYSQL的经常使用命令。

1、毗连MYSQL。

格局:mysql-h主机地点-u用户名-p用户暗码

1、例1:毗连到本机上的MYSQL。

起首在翻开DOS窗口,然落后进目次mysqlbin,再键进命令mysql-uroot-p,回车后提醒你输暗码,假如刚安装好MYSQL,超等用户root是没有暗码的,故间接回车便可进进到MYSQL中了,MYSQL的提醒符是:mysql>

2、例2:毗连到远程主机上的MYSQL。假定远程主机的IP为:110.110.110.110,用户名为root,暗码为abcd123。则键进以下命令:

mysql-h110.110.110.110-uroot-pabcd123

(注:u与root能够不必加空格,别的也一样)

3、加入MYSQL命令:exit(回车)

2、修正暗码。

格局:mysqladmin-u用户名-p旧暗码password新暗码

1、例1:给root加个暗码ab12。起首在DOS下进进目次mysqlbin,然后键进以下命令

mysqladmin-uroot-passwordab12

注:由于入手下手时root没有暗码,以是-p旧暗码一项就能够省略了。

2、例2:再将root的暗码改成djg345。

mysqladmin-uroot-pab12passworddjg345

3、增添新用户。(注重:和下面分歧,上面的由于是MYSQL情况中的命令,以是前面都带一个分号作为命令停止符)

格局:grantselecton数据库.*to用户名@登录主机identifiedby"暗码"

例1、增添一个用户test1暗码为abc,让他能够在任何主机上登录,并对一切数据库有查询、拔出、修正、删除的权限。起首用以root用户连进MYSQL,然后键进以下命令:

grantselect,insert,update,deleteon*.*totest1@"%"Identifiedby"abc";

但例1增添的用户是非常伤害的,你想如某团体晓得test1的暗码,那末他就能够在internet上的任何一台电脑上登录你的mysql数据库并对你的数据能够随心所欲了,办理举措见例2。

例2、增添一个用户test2暗码为abc,让他只能够在localhost上登录,并能够对数据库mydb举行查询、拔出、修正、删除的操纵(localhost指当地主机,即MYSQL数据库地点的那台主机),如许用户即便用晓得test2的暗码,他也没法从internet上间接会见数据库,只能经由过程MYSQL主机上的web页来会见了。

grantselect,insert,update,deleteonmydb.*totest2@localhostidentifiedby"abc";

假如你不想test2有暗码,能够再打一个命令将暗码消失落。

grantselect,insert,update,deleteonmydb.*totest2@localhostidentifiedby"";

在上篇我们讲了登录、增添用户、暗码变动等成绩。下篇我们来看看MYSQL中有关数据库方面的操纵。注重:你必需起首登录到MYSQL中,以下操纵都是在MYSQL的提醒符下举行的,并且每一个命令以分号停止。

1、操纵技能

1、假如你打命令时,回车后发明健忘加分号,你不必重打一遍命令,只需打个分号回车就能够了。也就是说你能够把一个完全的命令分红几行来打,完后用分号作停止标记就OK。

2、你可使用光标高低键修改之前的命令。但之前我用过的一个MYSQL旧版本不撑持。我如今用的是mysql-3.23.27-beta-win。

2、显现命令

1、显现数据库列表。

showdatabases;

刚入手下手时才两个数据库:mysql和test。mysql库很主要它内里有MYSQL的体系信息,我们改暗码和新增用户,实践上就是用这个库举行操纵。

2、显现库中的数据表:

usemysql;//翻开库,学过FOXBASE的必定不会生疏吧

showtables;

3、显现数据表的布局:

describe表名;

4、建库:

createdatabase库名;

5、建表:

use库名;

createtable表名(字段设定列表);

6、删库和删表:

dropdatabase库名;

droptable表名;

7、将表中纪录清空:

deletefrom表名;

8、显现表中的纪录:

select*from表名;

3、一个建库和建表和拔出数据的实例

dropdatabaseifexistsschool;//假如存在SCHOOL则删除

createdatabaseschool;//创建库SCHOOL

useschool;//翻开库SCHOOL

createtableteacher//创建表TEACHER

(

idint(3)auto_incrementnotnullprimarykey,

namechar(10)notnull,

addressvarchar(50)default深圳,

yeardate

);//建表停止

//以下为拔出字段

insertintoteachervalues(,glchengang,深圳一中,1976-10-10);

insertintoteachervalues(,jack,深圳一中,1975-12-23);

注:在建表中(1)将ID设为长度为3的数字字段:int(3)并让它每一个纪录主动加一:auto_increment其实不能为空:notnull并且让他成为主字段primarykey(2)将NAME设为长度为10的字符字段(3)将ADDRESS设为长度50的字符字段,并且缺省值为深圳。varchar和char有甚么区分呢,只要等今后的文章再说了。(4)将YEAR设为日期字段。

假如你在mysql提醒符键进下面的命令也能够,但不便利调试。你能够将以上命令原样写进一个文本文件中假定为school.sql,然后复制到c:下,并在DOS形态进进目次mysqlin,然后键进以下命令:

mysql-uroot-p暗码<c:chool.sql

假如乐成,空出一行无任何显现;若有毛病,会有提醒。(以上命令已调试,你只需将//的正文往失落便可利用)。

4、将文本数据转到数据库中

1、文本数据应切合的格局:字段数据之间用tab键离隔,null值用
来取代.

例:

3rose深圳二中1976-10-10

4mike深圳一中1975-12-23

2、数据传进命令loaddatalocalinfile"文件名"intotable表名;

注重:你最好将文件复制到mysqlin目次下,而且要先用use命令打表地点的库。

5、备份数据库:(命令在DOS的mysqlin目次下实行)

mysqldump--optschool>school.bbb

正文:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,翻开看看你会有新发明。

跋文:实在MYSQL的对数据库的操纵与别的的SQL类数据库迥然不同,您最好找本将SQL的书看看。我在这里只先容一些基础的,实在我也就只懂这些了,呵呵。最好的MYSQL教程仍是"晏子"译的"MYSQL中文参考手册"不但收费每一个相干网站都有下载,并且它是最威望的。惋惜不是象"PHP4中文手册"那样是chm的格局,在查找函数命令的时分不太便利。
也就是说在php本地调用pdoprepare中的mysql_real_escape_string来操作query,使用的是本地单字节字符集,即编码为xbfx5cx27,并带入到mysql中查询,由于使用setnames设置了连接字符集.

乐观 发表于 2015-1-19 18:26:25

所以你总能得到相应的升级版本,来满足你的需求。

活着的死人 发表于 2015-1-28 05:48:13

也可谈一下你是怎么优化存储过程的?

金色的骷髅 发表于 2015-2-5 14:13:51

如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。

海妖 发表于 2015-2-12 03:46:29

记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。

admin 发表于 2015-3-11 06:51:36

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。

飘飘悠悠 发表于 2015-3-17 23:06:51

多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。

冷月葬花魂 发表于 2015-3-25 05:14:56

如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。
页: [1]
查看完整版本: MSSQL编程:MY SQL 经常使用命令