MySQL常用操作

建数据库:CREATE DATABASE database_name;

显示数据库列表:show databases;

使其成为当前操作数据库:use 数据库名;

删除数据库语法:DROP DATABSE 数据库名;

创建表:CREATE TABLE 表名( 属性名 数据类型 [完整性约束条件], 属性名 数据类型 [完整性约束条件], … 属性名 数据类型 );

显示mysql数据库中的数据表:show tables;

查看表结构:SHOW [FULL] COLUMNS FROM 数据表名.数据库名;

describe语句查看表的基本定义:describe 表名;(describe 可以缩写成desc)

修改表结构:

  增加字段:语法:alter table 表名 add column <字段名><字段选项>;

  修改字段:语法:alter table 表名 change <旧字段名> <新字段名><选项>;

  删除字段:语法:alter table 表名 drop column <字段名>;

  重命名数据表:语法:RENAME TABLE 数据表名1 To 数据表名2 ;

删除表: drop table 表名:删除整个表,包括表里的数据、表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index)等,表不存在

truncate table 表名:只删除表里的数据,表还存在

向表里插入数据--------------------语法:insert into 表名(属性名,属性名,…)values () //单行插入value()

查询表中的数据--------------------select 列名称 from 表名称 [查询条件];

修改表中的数据--------------------语法:update 表名称 set 列名称=新值 where 更新条件;

删除表中的数据--------------------语法:delete from 表名称 where 删除条件;

删除表中的所有数据----------------delete from student;

数据库的导入导出:

  (1)使用select into outfile 'filename'语句: 我们要将数据库Stu下的Student表中的数据导出成文本文件,文件名为“out.txt”:

  >use Stu; >select * from Student into outfile 'out.txt'; 可以在对应目录下查看out.txt

  (2)使用mysqldump实用程序(可以轻松处理多个表)

进入到目录: # cd /var/lib/mysql

导出建立相关表的建表命令和插入指令

# mysqldump Stu >Stu.sql 将数据库Stu导入到Stu.sql中

如果要将Stu.sql导入数据库:

mysql> create database newStu; 先建立一个名为newStu 的数据库.

# mysql newStu Stucreate.sql

只想导出插入数据的sql指令:

# mysqldump -t Stu > Stuinsert.sql

同时导出数据库中建表指令和表中的数据:

# mysqldump –T ./ Stu Student (其中./表示当前目录, Student为Stu数据库其中的一个表)

Student.sql 导出了建表指令,Student.txt 导出了表中的数据

(4)从文件中加载数据库:

mysql>load data infile "/tmp/Student.txt" into table Student; (把Student.txt文件中的数据导入到表Student中)

数据库备份:

(1).手动拷贝备份: MySQL数据库的文件保存在目录/var/lib/mysql中,数据库为每个库建立一个目录,所有的数据库文件都在这些目录中.

[root@linuxhero mysql]#ls

[root@linuxhero mysql]#servcie mysqld stop.先停止数据库

如果我们要将现在的数据库目录备份为mysql.bak

[root@linuxhero lib]# cp -rf mysql mysql.bak

如果数据库遭到了破坏,现在要将数据库恢复

[root@linuxhero lib]# cp -rf mysql.bak/* mysql

恢复数据库以后,var/lib/mysql中的文件已改变了,要更改文件的所属权限必须改变MySQL数据库的用户读写权限。 所以我们得启动和运行mysql,并登陆数据库:

[root@linuxhero lib]# /etc/init.d/mysqld start

[root@linuxhero lib]# mysql -u root -p

Enter password:

输入密码成功登陆.

(2).利用mysqldump来备份数据库

[root@linuxhero mysql]# mysqldump --opt Stu -u root -p > Stu.sql

Enter password:

注:--opt添加备份的其它选项,Stu为其中一个数据库名, 上面的意思是:使用重定向输出将备份写入到文件Stu.sql中.

[root@linuxhero mysql] #less Stu.sql 如果要恢复Stu这个数据库,则进行如下操作:

[root@linuxhero mysql] #mysql Stu -u root -p < Stu.sql

如果要备份所有数据库: [root@linuxhero mysql] #mysqldump --opt --all-databases -u root -p >mysql.bak

Enetr password:输入密码即可 恢复所有数据库,不用输入数据库的名字:

[root@linuxhero mysql] #mysql -u root -p < mysql.bak

Enetr password:

输入密码即可

posted @ 2018-05-18 09:25  dtsy  阅读(199)  评论(0编辑  收藏  举报