CC BY 4.0 (除特别声明或转载文章外)
Mysql常用命令1
| 功能 | 命令 |
|---|---|
| 连接远程数据库 | mysql -h192.168.2.172 -uroot -p123456; |
| 添加密码/修改密码 | mysqladmin -u用户名 -p旧密码 password 新密码; |
| 显示所有库 | show databases; |
| 切换库 | use 库名; |
| 显示表结构 | desc 表名; |
| 创建数据库 | create database 库名; |
| 删除数据库 | drop database 库名; |
| 创建表 | create table 表名(字段…); 2 |
| 删除表 | drop table 表名; |
| 清空表数据 | delete from 表名; |
| 显示表中的记录 | select * from 表名; |
| 导入.sql文件命令 | use 库名; source d:/mysql.sql; |
| 命令行修改root密码 | update mysql.user SET password=PASSWORD(‘新密码’) WHERE User=’root’; FLUSH PRIVILEGES; |
| 显示当前use的数据库名 | select database(); |
| 显示当前的user | select user(); |
| 简单描述表结构,字段类型 | desc tabl_name; |
| 查询表中的结构信息 | select * from information_schema.columns where table_schema=’dbname’ and table_name=’tablename’; |
| 查看表生成的DDL | show create table table_name;; |
数据库操作示例
- 创建表 例如创建一张邮件表:
CREATE TABLE `mail` ( `pid` int(10) unsigned NOT NULL COMMENT '玩家id,邮件接收者', `uuid` char(22) BINARY NOT NULL COMMENT '唯一id', `readed` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '邮件读取标志 0未读,1已读未取附件,2已读并取附件', `sender` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '邮件发送方ID', `createTime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间(单位:秒)', `subject` varchar(24) BINARY NOT NULL DEFAULT '' COMMENT '标题(24个字符)', `content` varchar(512) BINARY NOT NULL DEFAULT '' COMMENT '正文(600个字符)', `attachment` text NOT NULL COMMENT '附件', PRIMARY KEY (`pid`,`uuid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='邮件';创建一张玩家表:
CREATE TABLE `player` ( `pid` int(11) unsigned NOT NULL COMMENT '角色id', `name` varchar(32) BINARY NOT NULL DEFAULT '0' COMMENT '角色名', `level` int(11) unsigned NOT NULL COMMENT '等级', `exp` int(11) unsigned NOT NULL COMMENT '经验', PRIMARY KEY (`pid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='玩家基本信息'; - 查询
select * from player; #查询所有记录 select pid,name from player where pid = 1; #按条件查询指定字段 - 删除
delete from player; #清空所有记录 delete from player where pid = 1; #清空pid等于1的记录 - 插入
insert into player(pid,name) values(1,"aaa"),(2,"bbb"); #指定字段的插入 insert into player values(1,"test001",5,100),(2,"test002",10,700); #第二种形式的插入,values必须与字段一一对应 - 更新
update player set name="fuckyou" where pid = 1; update player set name="domicat",level=100 where pid=1; - 修改表结构
alter table player ADD `entryId` int(11) unsigned NOT NULL COMMENT '职业';#添加字段 alter table player change `test` `createTime` int(11) unsigned NOT NULL COMMENT '创号时间'; #修改字段 alter table player modify column `entryId` int(11) UNSIGNED NOT NULL COMMENT '职业' after `server`; #更改字段位置 alter table player CHANGE `entryId` `entryId` int(11) UNSIGNED NOT NULL COMMENT '职业'; #修改字段注释 - 检查库或者表是否存在
DROP DATABASE IF EXISTS db; CREATE DATABASE IF NOT EXISTS db; DROP TABLE IF EXISTS tb; - 多表数据删除
delete from t1 where 条件; delete t1 from t1 where 条件; delete t1 from t1,t2 where 条件; - 数据库导出
mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > /root/dbname.sql /*导出表结构和数据*/ mysqldump -u dbuser -p -d dbname > /root/dbname.sql /*只导出表结构*/ - 数据库导入
/*1. 先创建空的数据库*/ CREATE DATABASE cn_dalanh5_S10001 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; /*2. 选择数据库*/ use cn_dalanh5_S10001; /*3. 导入数据*/ source /root/cn_dalanh5_S1.sql
脚注: