MySql学习笔记Word格式.docx
《MySql学习笔记Word格式.docx》由会员分享,可在线阅读,更多相关《MySql学习笔记Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
然后会提示要您输入用户密码,这个时候,如果您有密码得话,就输入密码敲回车,如果没有密码,直接敲回车,就可以进入到数据库客户端;
连接远程主机上得mysql,可以用下面得命令:
mysql–h159、0、45、1–uroot–p123
断开服务器:
在进入客户端后,您可以直接输入quit然后回车就可以了;
下面就数据库相关命令进行相关说明
您可以输入以下命令对数据库表格或者数据库进行相关操作,在这里就省略了,然后直接进行文字说明了;
Selectversion(),current_date;
//从服务器得到当前mysql得版本号与当前日期Selectuser();
//得到当前数据库得所有用户
Usedatabasename;
进入到指定得数据库当中,然后就可以操作这个数据库当中得表格了Showdatabases;
//查询目前数据库中所有得数据库,并且显示出来;
Createbatabasedatabasename;
创建数据库,例如:
createdatabasemanager;
Showtables;
//查瞧当前数据库中得所有表格;
Createtabletablename(colums);
创建表,并且给表指定相关列,例如:
createtablepet(name
varchar(20),ownervarchar(20),speciesvarchar(20),sexchar
(1),birthdate,deathdate);
Describetablename;
将表当中得所有信息详细显示出来,例如:
describepet;
可以用命令一次插入多条记录,例如:
Insertintopet
values(„Puffball?
?
Diane?
hamster?
f?
1993-12-3?
null),(„Puffball?
1993-1
2-3?
now());
Select*frompet;
从pet表当中查询出所有得记录,显示出来;
Deletefrompetwhereid=1;
删除ID为1得那一条记录;
Updatepetsetbirth=?
2001-1-3?
wherename=?
Bowser?
;
更新name为Bowser得记录当中得birth字段得值;
Selectdistinctownerfrompet;
从pet表中选择出owner字段得值唯一得行,如果有多行记录这个字段得值相同,则只显示最后一次出现这一值得一行记录;
有关日期计算:
Selectname,birth,curdate(),(year(curdate())-year(birth))asagefrompet;
此处,year()函数用于提取对应字段得年份,当然类似得还有month(),day()等;
在mysql当中,sql语句可以使用like查询,可以用”_”配任何单个字符,用”%”配任意数目字符,并且SQL模式默认就是忽略大小写,例如:
select*frompetwherenamelike„%fy?
当然也可以用正则表达式模式进行配。
同时在sql当中,也要注意分组函数、排序函数、统计函数等相关用法,在这里只列举一二;
Selectspecies,count(*)frompetgroupbyspeceis;
Select*frompetorderbybirthdesc;
查询最大值得相关操作:
Selectmax(age)frompet;
取前多少项记录,这个主要用于分页查询操作当中,
Select*frompetorderbybirthdesclimit3;
取前三条记录,
Select*frompetorderbybirthdesclimit0,3;
这个可以用于分页查询,limit后面得第一个参数,就是起始位置,第二个参数就是取记录条数;
有关创建表格自增长字段得写法:
Createtableperson(idint(4)notnullauto_increment,namechar(20)notnull,primarykey(id));
修改表操作:
向表中增加字段:
注意,在这个地方,如果就是增加多个字段得时候,就要用括号括起来,不然会有问题,如果就是单个字段得话,不用括号也没事;
Altertabletestadd(addressvarchar(50)notnulldefault„xm?
emailvarchar(20)notnull);
将表中某个字段得名字修改或者修改其对应得相关属性得时候,要用change对其进行操作;
Altertabletestchangeemailemailvarchar(20)notnulldefault„zz?
//不修改字段名
AltertabletestchangeemailEmailvarchar(30)notnull;
//修改字段名称
删除表中字段:
Altertabletestdropemail;
//删除单个字段
Altertabletestdropaddress,dropemail;
//删除多列
可以用Drop来取消主键与外键等,例如:
Altertabletestdropforeignkeyfk_symbol;
删除索引:
Dropindexindex_nameontable_name;
例如:
dropindextontest;
向表中插入记录:
注意,当插入表中得记录并不就是所有得字段得时候,应该要在前面列出字段名称才行,不然会报错;
Insertintotest(name)values(„ltx?
);
Insertintotestvalues(1,?
ltx?
也可以向表中同时插入多列值,如:
),(„hhy?
),(„xf?
删除表中记录:
Deletefromtest;
//删除表中所有记录;
Deletefromtestwhereid=1;
//删除表中特定条件下得记录;
当要从一个表或者多个表当中查询出一些字段然后把这些字段又要插入到另一个表当中得时候,可以用insert…、、select语法;
Insertintotestt(name)(selectnamefromtestwhereid=4);
从文件中读取行插入数据表中,可以用Loaddatainfile语句;
Loaddatainfile„test、txt?
intotabletest;
可以用Describe语法进行获取有关列得信息;
Describetest;
//可以查瞧test表得所有信息,包括对应列字段得数据类型等;
MySql事务处理相关语法;
开始一项新得事务:
starttransaction或者begintransaction提交事务:
commit
事务回滚:
rollback
setautocommittrue|false语句可以禁用或启用默认得autocommit模式,只可用于当前连接;
例子:
Starttransaction;
Updatepersonsetname=?
LJB?
whereid=1;
Commit|rollback;
数据库管理语句
修改用户密码:
以root用户为例,则可以写成下面得;
mysql–uroot–p旧密码–password新密码
Mysql–uroot–password123;
//将root用户得密码修改成123,由于root用户开始得时候,就是没有密码得,所以-p旧密码就省略了;
例如修改一个有密码得用户密码:
mysql–ultx–p123–password456;
增加一个用户test1,密码为abc,让她可以在任何时候主机上登陆,并对所有数据库有查询、插入、修改、删除得权限。
Grantselect,insert,update,deleteon*、*totest1@”%”identifiedby„abc?
增加一个test2用户,密码为abc,让她只可以在localhost上登陆,并且可以对数据库进行查询、插入、修改、删除操作;
Grantselect,insert,update,deleteonmydb、*totest2@localhostidentifiedby„abc?
如果不想让用户test2有密码,可以再输入以下命令消掉密码:
Grantselect,insert,update,deleteonmydb、*totest2@localhostidentifiedby“”;
备份数据库常用命令:
mysqldump–hhost–uusername–pdbname>
保存路径与文件名然后回车后,会让您输入用户密码,输入密码后,再回车就OK啦;
Mysqldump–hlocalhost–uroot–ptest>
E:
\db\test、sql
这一命令具体解释下:
这个命令就就是备份test数据库,并且将备份得内容存储为test、sql文件,并且保存在E:
\db下面;
命令当中-p前面得test就是数据库名,然后在数据库名后面要跟上一个”>
”,然后接下来,就就是写要保存得位置与保存文件得文件名;
将备份好得数据库导入到数据库当中去:
也就就是运行、sql文件将数据库导入数据库当中去->
首先您得创建数据库,然后运行如下命令:
mysql–hlocalhost–uroot–plinux<
\db\test、sql然后回车,再输入密码就可