mysql简明教程.docx
《mysql简明教程.docx》由会员分享,可在线阅读,更多相关《mysql简明教程.docx(8页珍藏版)》请在冰点文库上搜索。
![mysql简明教程.docx](https://file1.bingdoc.com/fileroot1/2023-5/26/73789f09-2494-43ec-8dbb-71ec456e03b7/73789f09-2494-43ec-8dbb-71ec456e03b71.gif)
mysql简明教程
连接MYSQL
格式:
mysql-h主机地址-u用户名-p用户密码
1、连接到本机上的MYSQL。
首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql-uroot-p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码.
如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:
mysql>
2、连接到远程主机上的MYSQL。
假设远程主机的IP为:
110.110.110.110,用户名为root,密码为abcd123。
则键入以下命令:
mysql-h218.201.39.184-uroot-p123;(注:
u与root之间可以不用加空格,其它也一样)3、退出MYSQL命令:
exit(回车)
修改密码
格式:
mysqladmin-u用户名-p旧密码password新密码
1、给root加个密码ab12。
首先在DOS下进入目录mysql\bin,然后键入以下命令mysqladmin-uroot-passwordab12
注:
因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、再将root的密码改为djg345。
mysqladmin-uroot-pab12passworddjg345
新增用户
格式:
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指本地主机,即MYS
QL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grantselect,insert,update,deleteonmydb.*totest2@localhostidentifiedby“abc”;
如果你不想test2有密码,可以再打一个命令将密码消掉。
grantselect,insert,update,deleteonmydb.*totest2@localhostidentifiedby“”;显示命令
1、显示当前数据库服务器中的数据库列表:
mysql>SHOWDATABASES;
注意:
mysql库里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示数据库中的数据表:
mysql>USE库名;
mysql>SHOWTABLES;
3、显示数据表的结构:
mysql>DESCRIBE表名;
4、建立数据库:
mysql>CREATEDATABASE库名;
5、建立数据表:
mysql>USE库名;
mysql>CREATETABLE表名(字段名VARCHAR(20),字段名CHAR
(1));
6、删除数据库:
mysql>DROPDATABASE库名;
7、删除数据表:
mysql>DROPTABLE表名;
8、将表中记录清空:
mysql>DELETEFROM表名;
9、显示表中的记录:
mysql>SELECT*FROM表名;
10、往表中插入记录:
mysql>INSERTINTO表名VALUES(”hyq”,”M”);
11、更新表中数据:
mysql->UPDATE表名SET字段名1=?
a',字段名2=?
b?
WHERE字段名3=?
c';
12、用文本方式将数据装入数据表中:
mysql>LOADDATALOCALINFile“D:
/mysql.txt”INTOTABLE表名;
13、导入.sql文件命令:
mysql>USE数据库名;
mysql>SOURCEd:
/mysql.sql;
14、命令行修改root密码:
mysql>UPDATEmysql.userSETpassword=PASSWORD(?
新密码?
)WHEREUser=?
root?
;
mysql>FLUSHPRIVILEGES;
15、显示use的数据库名:
mysql>SELECTDATABASE();
16、显示当前的user:
mysql>SELECTUSER();
17、查看进程的信息
showprocesslist;
18、查看用户拥有的权限
showgrantsfortest1;
19、获取关于列的信息
describemysql.user;
20、查看select查询工作过程
explainselect...
21、新建索引
altertabletablenameaddindex(columnname)
22、表的优化(多次对表的插入及修改后)
optimizetabletablename
或者
myisamchk–rtablename
基本数据操作
dropdatabaseifexistsschool;//如果存在SCHOOL则删除
createdatabaseschool;//建立库SCHOOL
useschool;//打开库SCHOOL
createtableteacher//建立表TEACHER
(
idintunsignedauto_incrementnotnullprimarykey,
namechar(10)notnull,
addressvarchar(50)default…重庆?
yeardate
);//建表结束
//以下为插入字段
insertintoteachervalues(”,?
allen?
'一中?
'1986-10-10′);
insertintoteachervalues(”,?
jack?
'二中?
'1985-12-12′);
如果你在mysql提示符键入上面的命令也可以,但不方便调试。
(1)你可以将以上命令原样写入一个文本文件中,假设为school.sql,然后复制到c:
\\下,并在DOS状态进入目录\\mysql\\bin,然后键入以下命令:
mysql–uroot-p密码\\school.sql
如果成功,空出一行无任何显示;如有错误,会有提示。
(以上命令已经调试,你只要将//的注释去掉即可使用)。
(2)或者进入命令行后使用mysql>sourcec:
\\school.sql;也可以将school.sql文件导入数据库中。
将文本数据转到数据库中
1、文本数据应符合的格式:
字段数据之间用tab键隔开,null值用\n来代替.例:
3rose大连二中1986-10-10
4mike大连一中1986-12-12
假设你把这两组数据存为school.txt文件,放在c盘根目录下。
2、数据传入命令loaddatalocalinFile“c:
\\school.txt”intotable表名;
注意:
你最好将文件复制到\mysql\bin目录下,并且要先用use命令打开表所在的数据库。
备份数据库
1.导出整个数据库
导出文件默认是存在mysql\bin目录下
mysqldump-u用户名-p数据库名>导出的文件名
mysqldump-uuser_name-p123456database_name>outfile_name.sql
2.导出一个表
mysqldump-u用户名-p数据库名表名>导出的文件名
mysqldump-uuser_name-pdatabase_nametable_name>outfile_name.sql
3.导出一个数据库结构
mysqldump-uuser_name-p-d–add-drop-tabledatabase_name>outfile_name.sql
-d没有数据–add-drop-table在每个create语句之前增加一个droptable
4.带语言参数导出
mysqldump-uroot-p–default-character-set=latin1–set-charset=gbk–skip-optdatabase_name>outfile_name.sql
示例用备份与恢复策略
#backup-strategy-example
Windows下修改MySQL安装目录
Windows下安装MySQL,一般的默认目录是c盘,因此在安装完后我们一般会要更改文件的安装目录和MySQL数据目录。
一般的修改方法是:
1修改my.ini文件。
打开之后编辑其中的basedir和datadir,
[mysqld]
basedir=E:
\ProgramFiles\mysql#修改成你的mysql安装目录
datadir=E:
\ProgramFiles\mysql\data#修改成你的mysql数据目录
2启动Dos界面,运行netstartmysql报错,系统找不到指定路径。
因为我们改变了mysql的安装目录,导致找不到bin启动目录。
修改环境变量,在path路径下加入:
E:
\ProgramFiles\mysql\bin
3此时启动mysql,如果还报错误,打开注册表,搜索原来mysql的安装路径,并将其替换为现在新的安装路径
4注销下,重新运行netstartmysql命令即可。
注意:
启动Mysql时碰到了1067错误,一般是mysql的配置文件my.ini有问题,打开重点看下里面的basedir和datadir路径是否和你的实际安装目录相同。
另外如果还不行,可以重新运行下你的mysql配置向导,重新配置下。
SQL语句
selectnamefromcustomerslimit2,3
存储引擎
CREATETABLEtableTYPE=type...
可能的表格类型包括:
MyISAM:
默认类型可以被压缩支持全文索引不是事务安全,不支持外键
适合大量使用selectinsert的表当中
MEMORY:
内存表表的索引是哈希分布的,速度快,发生崩溃数据就丢失。
CREATETABLE中指定MAX_ROWS
MERGE:
为了查询把MyISAM表的集合作为一个单个表
InnoDB:
事务安全,支持外键
修改表格类型
altertableorderstype=innodb;
altertableorder_itemstype=innodb;
事务
外键
存储过程