欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL常用操作

程序员文章站 2022-11-14 13:01:17
建数据库:CREATE DATABASE database_name; 显示数据库列表:show databases; 使其成为当前操作数据库:use 数据库名; 删除数据库语法:DROP DATABSE 数据库名; 创建表:CREATE TABLE 表名( 属性名 数据类型 [完整性约束条件], ......

建数据库: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:

输入密码即可