MY SQL 常用语句.docx
《MY SQL 常用语句.docx》由会员分享,可在线阅读,更多相关《MY SQL 常用语句.docx(23页珍藏版)》请在冰豆网上搜索。
MYSQL常用语句
12.4实例:
MySQL命令的简单使用
时间:
2010-11-10 来源:
雨林木风系统门户 作者:
佚名 责任编辑:
张小龙 收藏 复制分享
点击:
201次
连接上MySQL服务器后,就可以对MySQL数据库进行管理了。
MySQL作为网络数据库,功能非常强大,下面介绍一些MySQL数据库常用基本操作:
创建数据库、创建数据表、查询、向数据表中添加数据、修改数据表中数据、删除数据、修改表的结构、修改数据库、添加用户账号等。
1、显示数据库列表
执行"mysql>showdatabases;"命令,如图4所示。
图4MySQL数据库列表
图4中显示了MySQL默认安装的数据库。
Informationschema是信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息;mysql是必需的,因为它描述了用户的访问权限;test数据库可以作为新用户学习MySQL的数据库。
2、显示数据库中的表
依次执行"mysql>usemysql;"和"mysql>showtables;"命令,如图5所示。
图5mysql数据库中的数据表
3、查看数据库中func表的结构
执行"mysql>describefunc"命令,如图6所示。
图6mysql数据库中func表的结构
4、创建一个新的数据库
mysql>createdatabaseschool;此语句将创建一个名为"school"的数据库,此时数据库中还没有任何数据表。
5、创建一个新的数据表
mysql>useschool;
mysql>createtablestudent(
idchar(6)przmarykey,
namevarchar(8),
sexchar
(1),
birthdate);
在创建数据表student后,可以查看一下表的结构,如图7所示。
图7school数据库中student表的结构
6、向表中添加记录
新建的student表是空表。
student表中有4个字段,在进行添加记录时,括号内应有
4个数据,现在向student表中添加两条记录。
mysql>insertintostudentvalues('060001','Tom','M','1988-12-22');
mysql>insertintostudentvalues('060002','Jerry','F','1988-0l-0l');
mysql>insertintostudentvalues('060003','JJJJ','F','1990-1l-1l');
可以通过select查询命令查看student表中的记录,如图8所示。
图8student表的记录
7、修改记录
如果表中的数据出现变化,或者添加数据有误,就要对数据进行修改,例如:
将Tom的出生年月改为1988-02-02,如图9所示。
mysql>updatestudentsetbirth='1988-02-02'wherename='Tom';
mysql>select*fromstudent;
图9修改后student表的记录
8、删除记录
例如:
在student表中删除Tom的记录,如图10所示。
mysql>deletefromstudentwherename='JJJJ';
mysql>select*fromstudent;
图10删除后student表的记录
9、数据表结构修改
例如:
将数据表student中namevarchar(8)字段更改为varchar(10),可通过以下命令语句实现,如图1l所示。
图11name字段长度改变为lO
10、添加新字段
例如:
在student数据表中添加一个字段addrvarchar(40),可通过以下命令语句实现,如图12所示。
图12添加addr字段
11、删除某个字段
例如:
在student数据表中删除刚才添加的字段addr,可通过以下命令语句实现:
mysql>altertablestudentdropcolumaddr;
12、修改表名
例如:
把student表改名为students表,如图13所示。
图13student表改名为students表
∙一、连接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(回车)
二、修改密码。
格式:
mysqladmin-u用户名-p旧密码password新密码
1、例1:
给root加个密码ab12。
首先在DOS下进入目录mysqlbin,然后键入以下命令
mysqladmin-uroot-passwordab12
注:
因为开始时root没有密码,所以-p旧密码一项就能省略了。
2、例2:
再将root的密码改为djg345。
mysqladmin-uroot-pab12passworddjg345
三、增加新用户。
(注意:
和上面不同,下面的因为是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、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就能了。
也就是说你能把一个完整的命令分成几行来打,完后用分号作结束标志就OK。
2、你能使用光标上下键调出以前的命令。
但以前我用过的一个MYSQL旧版本不支持。
我目前用的是mysql-3.23.27-beta-win。
二、显示命令
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表名;
三、一个建库和建表及插入数据的实例
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状态进入目录\\mysql\\bin,然后键入以下命令:
mysql-uroot-p密码\\school.sql
如果成功,空出一行无所有显示;如有错误,会有提示。
(以上命令已调试,你只要将//的注释去掉即可使用)。
四、将文本数据转到数据库中
1、文本数据应符合的格式:
字段数据之间用tab键隔开,null值用\\n来代替.
例:
3rose深圳二中1976-10-10
4mike深圳一中1975-12-23
2、数据传入命令loaddatalocalinfile\"文件名\"intotable表名;
注意:
你最佳将文件复制到\\mysql\\bin目录下,并且要先用use命令打表所在的库。
五、备份数据库:
(命令在DOS的\\mysql\\bin目录下执行)
mysqldump--optschool>school.bbb
注释:
将数据库school备份到school.bbb文件,school.bbb是个文本文件,文件名任取,打开看看你会有新发现。
后记:
其实MYSQL的对数据库的操作和其他的SQL类数据库大同小异,你最佳找本将SQL的书看看。
我在这里只介绍一些基本的,其实我也就只懂这些了,呵呵。
最佳的MYSQL教程还是"晏子"译的"MYSQL中文参考手册"不仅免费每个相关网站都有下载,而且他是最权威的。
可惜不是象\"PHP4中文手册\"那样是chm的格式,在查找函数命令的时候不太方便。
∙
一、连接MySQL。
格式:
mysql-h主机地址-u用户名-p用户密码
例1:
连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录%mysqlpath%\bin>,%mysqlpath%是mysql安装的主目录,再键入命令:
mysql-uroot-p,回车后提示你输密码,如果刚安装好MySQL,超级用户root是没有密码的,故直接回车即可进入到MySQL中了,MySQL的提示符是:
mysql>.
C:
\ProgramFiles\MySQL\MySQLServer5.0\bin>mysql-uroot-p
Enterpassword:
WelcometotheMySQLmonitor.?
Commandsendwith;or\g.
YourMySQLconnectionidis7toserverversion:
5.0.7-beta-nt
Type'help;'or'\h'forhelp.Type'\c'toclearthebuffer.
mysql>
例2:
连接到远程主机上的MySQL。
假设远程主机的IP为:
192.168.9.168,用户名为root,密码为abcd123。
则键入以下命令:
mysql-h110.110.110.110-uroot-pabcd123如图:
C:
\ProgramFiles\MySQL\MySQLServer5.0\bin>mysql-h192.168.9.168-uroot-p
Enterpassword:
WelcometotheMySQLmonitor.?
Commandsendwith;or\g.
YourMySQLconnectionidis9toserverversion:
5.0.7-beta-nt
Type'help;'or'\h'forhelp.Type'\c'toclearthebuffer.
mysql>
二、增加新用户。
(注意:
下面的因为是MySQL环境中的命令,所以命令后面都带一个分号作为结束符)
格式:
grantselecton数据库.*to用户名@登录主机identifiedby"密码";
例1、增加一个用户test1密码为abc123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。
首先用以root用户连入MySQL,然后键入以下命令:
grantselect,insert,update,deleteon*.*totest1@"%"Identifiedby"abc123";如图:
mysql>grantselect,insert,update,deleteon*.*to
?
?
?
->test1@"%"Identifiedby"abc123";
QueryOK,0rowsaffected(0.03sec)
但例1增加的用户是十分危险的,如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据为所欲为了,解决办法见例2。
例2、增加一个用户test2密码为abc123,让他只可以在localhost上登录,并只可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通MYSQL主机上来访问了。
命令如下:
grantselect,insert,update,deleteonmydb.*totest2@localhostidentifiedby"abc123";如图:
mysql>grantselect,insert,update,deleteonmydb.*to
?
?
?
->test2@localhostIdentifiedby"abc123";
QueryOK,0rowsaffected(0.03sec)
如果你不想test2有密码,可以再打一个命令将密码消掉。
命令如下:
grantselect,insert,update,deleteonmydb.*totest2@localhostidentifiedby"";
三、修改密码。
格式:
mysqladmin-u用户名-p旧密码password新密码
例1:
给root加个密码ab123。
首先在DOS下进入目录mysqlbin,然后键入以下命令
mysqladmin-uroot-passwordab12
注:
因为开始时root没有密码,所以-p旧密码一项就可以省略了。
例2:
再将root的密码改为abc345。
mysqladmin-uroot-pab123passwordabc345
在这里我们讲了登录、增加用户、密码更改等问题。
下篇我们来看看MYSQL中有关数据库方面的操作。
注意:
你必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。
一.安装与配置MYSQL
........................................
二.常用mysql命令行命令
1.mysql的启动与停止
启动MYSQL服务netstartmysql
停止MYSQL服务netstopmysql
2.netstat–na|findstr3306查看被**的端口,findstr用于查找后面的端口是否存在
3.在命令行中登陆MYSQL控制台,即使用MYSQLCOMMENDLINETOOL
语法格式mysql–user=root–password=123456db_name
或mysql–uroot–p123456db_name
4.进入MYSQL命令行工具后,使用status;或\s查看运行环境信息
5.切换连接数据库的语法:
usenew_dbname;
6.显示所有数据库:
showdatabases;
7.显示数据库中的所有表:
showtables;
8.显示某个表创建时的全部信息:
showcreatetabletable_name;
9.查看表的具体属性信息及表中各字段的描述
Describetable_name;缩写形式:
desctable_name;
三。
MySql中的SQL语句
1.数据库创建:
Createdatabasedb_name;
数据库删除:
Dropdatabasedb_name;删除时可先判断是否存在,写成:
dropdatabaseifexistsdb_name
2.建表:
创建数据表的语法:
createtabletable_name(字段1数据类型,字段2数据类型);
例:
createtablemytable(idint,usernamechar(20));
删表:
droptabletable_name;例:
droptablemytable;
8.添加数据:
Insertinto表名[(字段1,字段2,….)]values(值1,值2,…..);
如果向表中的每个字段都插入一个值,那么前面[]括号内字段名可写也可不写
例:
insertintomytable(id,username)values(1,’zhangsan’);
9.查询:
查询所有数据:
select*fromtable_name;
查询指定字段的数据:
select字段1,字段2fromtable_name;
例:
selectid,usernamefrommytablewhereid=1orderbydesc;多表查询语句------------参照第17条实例
10.更新指定数据,更新某一个字段的数据(注意,不是更新字段的名字)
Updatetable_nameset字段名=’新值’[,字段2=’新值’,…..][whereid=id_num][orderby字段顺序]
例:
updatemytablesetusername=’lisi’whereid=1;
Order语句是查询的顺序,如:
orderbyiddesc(或asc),顺序有两种:
desc倒序(100—1,即从最新数据往后查询),asc(从1-100),Where和order语句也可用于查询select与删除delete
11.删除表中的信息:
删除整个表中的信息:
deletefromtable_name;
删除表中指定条件的语句:
deletefromtable_namewhere条件语句;条件语句如:
id=3;
12.创建数据库用户
一次可以创建多个数据库用户如:
CREATEUSERusername1identifiedBY‘password’,username2IDENTIFIEDBY‘password’….
13.用户的权限控制:
grant
库,表级的权限控制:
将某个库中的某个表的控制权赋予某个用户
GrantallONdb_name.table_nameTOuser_name[indentifiedby‘password’];
14.表结构的修改
(1)增加一个字段格式:
altertabletable_nameaddcolumn(字段名字段类型);----此方法带括号
(2)指定字段插入的位置:
altertabletable_nameaddcolumn字段名字段类型after某字段;
删除