Mysql 常用基本操作

MySQL[1] 是一个关系型数据库管理系统由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHPApache可组成良好的开发环境。

存储引擎:

MyISAMMysql5.0之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务
InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定, MySQL 5.5起成为默认数据库引擎
Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失

MysqL基本语法:

MySql语法
一 数据库操作
	1.创建数据库 :
	CREATE DATABASE test1;
	删除数据库?
	DROP DATABASE test1;
	2.查看以存在数据库
	show DATABASES;
	3.使用数据库:
	USE test1;
	4.查看表
	show TABLES;
	5.查看数据库引擎
	show ENGINES ;
-- 二 表操作
	1.创建表 使用 CREATE TABLE
	CREATE TABLE users(
			id INT PRIMARY KEY  NOT NULL,
			name VARCHAR(20) DEFAULT 'saber',
			birth DATE ,
					CONSTRAINT c_fk FOREIGN KEY (stu_id,stu_name)
									REFERENCES test2(stu_id,stu_name)
			);
	2.删除表	
	drop TABLE users;
	3.查看表结构
	DESC users;
	4.查看表详细结构语句
	SHOW CREATE TABLE users;
-- 修改表
	1.修改表名
	ALTER TABLE users1 RENAME users;
	2.修改字段的类型
	ALTER TABLE users MODIFY name CHAR(10) DEFAULT 'saber';
	3.修改字段名
	ALTER TABLE users CHANGE name u_name VARCHAR(20) DEFAULT 'saber';
	4.增加字段
	ALTER TABLE users ADD phone VARCHAR(11)  NOT NULL;
	5.在指定位置增加字段
	ALTER TABLE users ADD addr VARCHAR(100) FIRST | AFTER phone;
	6.删除字段
	ALTER TABLE users DROP addr;
	7.修改字段的排列位置
	ALTER TABLE users MODIFY phone VARCHAR(11) AFTER u_name | FIRST;
	8.更改表的存储引擎/查看表的引擎和编码用 SHOW CREATE TABLE users;
	ALTER TABLE users ENGINE = 'MyISAM';
	9.删除外键约束
	ALTER TABLE users DROP FOREIGN KEY 外键别名
-- 删除表
	1.删除没有被关联的普通表
	DROP TABLE users;
	2.删除被关联的父表
	先删除外键约束,在删除表
</pre><h3 id="4-" style="font-family:'Microsoft Yahei'; font-weight:500; line-height:2em; color:rgb(51,51,51); margin:25px 0px 20px; font-size:21px"></h3><h3 id="3-" style="font-family:'Microsoft Yahei'; font-weight:500; line-height:2em; color:rgb(51,51,51); margin:25px 0px 20px; font-size:21px">--导入</h3><p style="margin-top:0px; margin-bottom:10px; font-size:14px; font-family:'Microsoft Yahei'; line-height:2em; color:rgb(51,51,51)">导入操作,可以把一个文件里的数据保存进一张表。导入语句格式为:</p><pre style="overflow:auto; font-family:Menlo,Monaco,Consolas,'Courier New',monospace; font-size:13px; padding:9.5px; margin-top:0px; margin-bottom:10px; line-height:1.42857; word-break:break-all; word-wrap:break-word; color:rgb(51,51,51); border:1px solid rgb(204,204,204); background-color:rgb(245,245,245)"><code class="hljs sql" style="font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:undefined; padding:0.5em; color:rgb(204,204,204); white-space:pre-wrap; word-break:break-all; display:block; overflow-x:auto; background:rgb(45,45,45)"><span class="hljs-operator" style=""><span class="hljs-keyword" style="color:rgb(204,153,204)">LOAD</span> <span class="hljs-keyword" style="color:rgb(204,153,204)">DATA</span> <span class="hljs-keyword" style="color:rgb(204,153,204)">INFILE</span> <span class="hljs-string" style="color:rgb(153,204,153)">'文件路径'</span> <span class="hljs-keyword" style="color:rgb(204,153,204)">INTO</span> <span class="hljs-keyword" style="color:rgb(204,153,204)">TABLE</span> 表名字;</span></code>

--导出

导出与导入是相反的过程,是把数据库某个表中的数据保存到一个文件之中。导出语句基本格式为:

SELECT1,列2 INTO OUTFILE '文件路径和文件名' FROM 表名字;

注意:语句中 “文件路径” 之下不能已经有同名文件。

现在我们把整个employee表的数据导出到 /tmp 目录下,导出文件命名为 out.txt 具体语句为:

SELECT * INTO OUTFILE '/tmp/out.txt' FROM employee;

 

备份

数据库中的数据或许十分重要,出于安全性考虑,在数据库的使用中,应该注意使用备份功能。

备份与导出的区别:导出的文件只是保存数据库中的数据;而备份,则是把数据库的结构,包括数据、约束、索引、视图等全部另存为一个文件。

mysqldump是MySQL用于备份数据库的实用程序。它主要产生一个SQL脚本文件,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等。

使用mysqldump备份的语句:

mysqldump -u root 数据库名>备份文件名;   #备份整个数据库

mysqldump -u root 数据库名 表名字>备份文件名;  #备份整个表

恢复

用备份文件恢复数据库,其实我们早就使用过了。在本次实验的开始,我们使用过这样一条命令:

source /tmp/SQL6/MySQL-06.sql

这就是一条恢复语句,它把MySQL-06.sql文件中保存的mysql_shiyan数据库恢复。

还有另一种方式恢复数据库,但是在这之前我们先使用命令新建一个空的数据库 test

mysql -u root          #因为在上一步已经退出了MySQL,现在需要重新登录

CREATE DATABASE test;  #新建一个名为test的数据库

再次 Ctrl+Z 退出MySQL,然后输入语句进行恢复,把刚才备份的 bak.sql 恢复到 test 数据库:

mysql -u root test < bak.sql


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值