MySQL命令行常用命令
启动与退出
进入MySQL
执行mysql -u root -p
并输入用户密码进入MySQL的命令行界面。退出MySQL
quit
或exit
数据库备份
导出整个数据库
mysqldump -u root -p 数据库名 > 导出的文件名
mysqldump -u root -p dbname > filename.sql
导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u root -p dbname users> filename.sql
导出一个数据库结构
mysqldump -u root -p -d –add-drop-table dbname >filename.sql
-d
不导出数据--add-drop-table
在每个create语句之前增加一个drop table
导入数据库
- source
进入mysql数据库控制台(mysql -u root -p
),选择数据库(mysql>use dbname
),然后使用source
命令,后面参数为脚本文件名(如filename.sql
)
mysql>source filename.sql
- mysqldump
mysqldump -u username -p dbname < filename.sql
- mysql
mysql -u username -p -D dbname < filename.sql
库操作
创建数据库
命令:create database
例如:建立一个名为xhkdb
的数据库
create database xhkdb;
显示数据库列表
命令:show databases
show databases;
删除数据库
命令:drop database
例如: 删除名为xhkdb
的数据库
drop database xhkdb;
连接数据库
命令: use database
例如: 如果xhkdb
数据库存在,尝试存取它:
use xhkdb;
屏幕提示: Database changed
查看当前数据库
select database();
当前数据库表信息:
show tables;
表操作
注: 操作之前应连接某个数据库
建表
命令: create table ( [,..]);
create table MyClass(
id int(4) not null primary key auto_increment,
name char(20) not null,
sex int(4) not null default ‘0’,
degree double(16,2));
获取表结构
命令: desc 表名
; 或者show columns from 表名
DESCRIBE MyClass
desc MyClass;
show columns from MyClass;
删除表
命令:drop table;
例如:删除表名为MyClass
的表
drop table MyClass;
插入数据
命令: insert into [( [,.. ])] values ( 值1 )[, ( 值n )];
例如: 往表MyClass
中插入二条记录, 这二条记录表示:编号为1
的名为Tom
的成绩为96.45
, 编号为2
的名为Joan
的成绩为82.99
,编号为3
名为Wang
的成绩为96.5
insert into MyClass values(1,’Tom’,96.45),(2,’Joan’,82.99), (3,’Wang’, 96.59);
查询表中的数据
- 查询所有行
命令:select from 表名 where 表达式;
例如: 查询表MyClass
中所有数据
select * from MyClass;
- 查询前几行数据
命令:select * from 表名 limit 开始行号,结束行号;
例如:查询表MyClass
中前2
行数据
select * from MyClass limit 0,2;
删除表中数据
命令:delete from 表名 where 表达式;
例如:删除表MyClass
中编号为1
的记录
delete from MyClass where id=1;
修改表中数据
命令: update 表名 set 字段=新值,… where 条件;
例如: 修改MyClass
表中ID=1
数据的name
为Mary
update MyClass set name=’Mary’ where id=1;
在表中增加字段:
命令:alter table 表名 add字段 类型 其他;
例如:在表MyClass
中添加了一个字段passtest
,类型为int(4)
,默认值为0
alter table MyClass add passtest int(4) default ‘0’
更改表名:
命令:rename table 原表名 to 新表名;
例如:在表MyClass
名字更改为YouClass
rename table MyClass to YouClass;
更新字段内容
update 表名 set 字段名 = 新内容
update 表名 set 字段名 = replace(字段名,’旧内容’,’新内容’);
例:文章前面加入4个空格
update article set content=concat(‘ ‘,content);
常用字段类型
INT[(M)]
型: 正常大小整数类型DOUBLE[(M,D)] [ZEROFILL]
型: 正常大小(双精密)浮点数字类型DATE
日期类型: 支持的范围是1000-01-01
到9999-12-31
CHAR(M)
型: 定长字符串类型,当存储时,总是是用空格填满右边到指定的长度BLOB
TEXT
型: 最大长度为65535(2^16-1)
个字符VARCHAR
型: 变长字符串类型