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:
输入密码即可
上一篇: 胶东举办后市场车联网论坛,新品频亮相