当前位置:文档之家› (完整版)MySQL基础学习超级详细

(完整版)MySQL基础学习超级详细

一、MySQL概述1、什么是数据库?答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库2、什么是 MySQL、Oracle、SQLite、Access、MS SQL Server等?答:他们均是一个软件,都有两个主要的功能:o a. 将数据保存到文件或内存o b. 接收特定的命令,然后对文件进行相应的操作3、什么是SQL ?答:MySQL等软件可以接受命令,并做出相应的操作,由于命令中可以包含删除文件、获取文件内容等众多操作,对于编写的命令就是是SQL语句。

二、MySQL安装MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。

MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

想要使用MySQL来存储并操作数据,则需要做几件事情:a. 安装MySQL服务端b. 安装MySQL客户端b. 【客户端】连接【服务端】c. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等)下载/downloads/mysql/安装windows:/article/f3ad7d0ffc061a09c3345bf0.htmllinux:yum install mysql-servermac:一直点下一步客户端连接连接:1、mysql管理人默认为root,没有设置密码则直接登录mysql -h host -u root -p 不用输入密码按回车自动进入2、如果想设置mysql密码mysqladmin -u root password 1234563、如果你的root现在有密码了(123456),那么修改密码为abcdef的命令是: mysqladmin -u root -p password abcdef退出:QUIT 或者 Control+D三、数据库基础分为两大部分:1、数据库和表的创建;2、数据库和表内容的操作数据库操作-思路图1、数据库和表的创建(一)数据库的创建1.1、显示数据库1 SHOW DATABASES;默认数据库:mysql - 用户权限相关数据test - 用于用户测试数据information_schema - MySQL本身架构相关数据1.2、创建数据库# utf-8CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATEutf8_general_ci;# gbkCREATE DATABASE 数据库名称 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;1.3、打开数据库USE db_name;注:每次使用数据库必须打开相应数据库显示当前使用的数据库中所有表:SHOW TABLES;1.4、用户管理用户设置:创建用户create user '用户名'@'IP地址' identified by '密码';删除用户drop user '用户名'@'IP地址';修改用户rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';;修改密码set password for'用户名'@'IP地址' = Password('新密码')PS:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)用户权限设置:show grants for'用户'@'IP地址' -- 查看权限grant 权限 on 数据库.表 to '用户'@'IP地址' -- 授权revoke 权限 on 数据库.表 from '用户'@'IP地址' -- 取消权限all privileges 除grant外的所有权限select仅查权限select,insert 查和插入权限...usage 无访问权限alter 使用alter tablealter routine 使用alter procedure和drop procedurecreate 使用create tablecreate routine 使用create procedurecreate temporary tables 使用create temporary tablescreate user 使用create user、drop user、rename user和revoke all privilegescreate view 使用create viewdelete 使用deletedrop 使用drop tableexecute 使用call和存储过程file使用select into outfile 和 load data infilegrant option 使用grant 和 revokeindex 使用indexinsert 使用insertlock tables 使用lock tableprocess 使用show full processlistselect使用selectshow databases 使用show databasesshow view 使用show viewupdate 使用updatereload 使用flushshutdown 使用mysqladmin shutdown(关闭MySQL)super 使用change master、kill、logs、purge、master和set global。

还允许mysqladmin 调试登陆replication client 服务器位置的访问replication slave 由复制从属使用对于目标数据库以及内部其他:数据库名.* 数据库中的所有数据库名.表指定数据库中的某张表数据库名.存储过程指定数据库中的存储过程*.* 所有数据库用户名@IP地址用户只能在改IP下才能访问用户名@192.168.1.% 用户只能在改IP段下才能访问(通配符%表示任意)用户名@% 用户可以再任意IP下访问(默认IP地址为%)grant all privileges on db1.tb1 TO '用户名'@'IP'grant select on db1.* TO '用户名'@'IP'grant select,insert on *.* TO '用户名'@'IP'revoke select on db1.tb1 from '用户名'@'IP'1.4、备份库和恢复库备份库:MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成。

1.在Windows下MySQL的备份与还原备份1、开始菜单|运行| cmd |利用“cd /Program Files/MySQL/MySQL Server 5.0/bin”命令进入bin文件夹2、利用“mysqldump -u 用户名-p databasename >exportfilename”导出数据库到文件,如mysqldump -u root -p voice>voice.sql,然后输入密码即可开始导出。

还原1、进入MySQL Command Line Client,输入密码,进入到“mysql>”。

2、输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create database voice;",回车。

3、切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voice.sql;",回车,开始导入,再次出现"mysql>"并且没有提示错误即还原成功。

2、在linux下MySQL的备份与还原2.1备份(利用命令mysqldump进行备份)[root@localhost mysql]# mysqldump -u root -p voice>voice.sql,输入密码即可。

2.2还原方法一:[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>",同1.2还原。

方法二:[root@localhost mysql]# mysql -u root -p voice<voice.sql,输入密码即可。

3、更多备份及还原命令备份:1.备份全部数据库的数据和结构mysqldump -uroot -p123456 -A >F:\all.sql2.备份全部数据库的结构(加-d 参数)mysqldump -uroot -p123456 -A -d>F:\all_struct.sql3.备份全部数据库的数据(加-t 参数)mysqldump -uroot -p123456 -A -t>F:\all_data.sql4.备份单个数据库的数据和结构(,数据库名mydb)mysqldump -uroot -p123456 mydb>F:\mydb.sql5.备份单个数据库的结构mysqldump -uroot -p123456 mydb -d>F:\mydb.sql6.备份单个数据库的数据mysqldump -uroot -p123456 mydb -t>F:\mydb.sql7.备份多个表的数据和结构(数据,结构的单独备份方法与上同)mysqldump -uroot -p123456 mydb t1 t2 >f:\multables.sql8.一次备份多个数据库mysqldump -uroot -p123456 --databases db1 db2 >f:\muldbs.sql还原:还原部分分(1)mysql命令行source方法和(2)系统命令行方法1.还原全部数据库:(1) mysql命令行:mysql>source f:\all.sql(2) 系统命令行: mysql -uroot -p123456 <f:\all.sql2.还原单个数据库(需指定数据库)(1) mysql>use mydbmysql>source f:\mydb.sql(2) mysql -uroot -p123456 mydb <f:\mydb.sql3.还原单个数据库的多个表(需指定数据库)(1) mysql>use mydbmysql>source f:\multables.sql(2) mysql -uroot -p123456 mydb <f:\multables.sql4.还原多个数据库,(一个备份文件里有多个数据库的备份,此时不需要指定数据库)(1) mysql命令行:mysql>source f:\muldbs.sql(2) 系统命令行: mysql -uroot -p123456 <f:\muldbs.sql更多备份知识:/article/41570.htm(二)数据表的创建1.1、显示数据表show tables;1.2、创建数据表create table 表名(列名类型是否可以为空,列名类型是否可以为空)ENGINE=InnoDB DEFAULT CHARSET=utf8是否可空,null表示空,非字符串not null - 不可空null - 可空默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添加默认值create table tb1(nid int not null defalut 2,num int not null)自增,如果为某列设置自增列,插入数据时无需设置此列,默认将自增(表中只能有一个自增列)create table tb1(nid int not null auto_increment primary key,num int null)或create table tb1(nid int not null auto_increment,num int null,index(nid))注意:1、对于自增列,必须是索引(含主键)。

相关主题