mysql常用命令(自己用的比较多的)

1、导出表结构、不导出数据
mysqldump -d --default-character-set=latin1 -h Host -P Port -u UserName -p PassWord  DBName  (tablename)>  databaseStr.txt
---------------------------------------------------------------------------------------------------------------------------------------------
2、连接数据库
mysql -h Host -u UserName -p PassWord -P Port DBName
---------------------------------------------------------------------------------------------------------------------------------------------
3、导出数据库记录到文件
mysql -h Host -PPort -uUserName -pPassWord DBName -e "select msg,ip,time from wall_09 where owner_id='13333333365' \G"  >> wall_1717297865.txt  
----------------------------------------------------------------------------------------------------------------------------------------------
4、基本操作命令
mysql -hhost -uuser -ppassword -Pport dbname 连接数据库
show databases; 显示数据库
   create database name; 创建数据库
   use databasename; 选择数据库
   drop database name 直接删除数据库,不提醒
   show tables; 显示表
   describe(desc) tablename; 显示具体的表结构
   mysqladmin drop databasename 删除数据库前,有提示。
   select version(),current_date; 显示当前mysql版本和当前日期
  
Select[ALL|DISTINCT|DISTINCTROW|TOP]
  {*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]}
      FROM tableexpression[,…][IN externaldatabase]
      [Where…]
          [GROUP BY…]
          [HAVING…]
          [ORDER BY…]
          [WITH OWNERACCESS OPTION] distinct去除重复字段


delete from 表名 where 表达式; 删除表中数据
update 表名 set 字段=新值,… where 条件; 修改表中数据
   alter table 表名 add字段 类型 其他; 在表中增加字段
   rename table 原表名 to 新表名; 更改表名
delete from 表名; 将表中记录清空
   show create table table_name 显示当前表的建表语句
mysqladmin -u用户名 -p旧密码 password 新密码 修改数据库密码
show processlist; 显示mysql进程
\q 、quit 退出  
------------------------------------------------------------------------------------------------------------------------------------------------
5、示例
mysqldump
备份数据库
   shell> mysqldump -h host -u root -p --default-character-set=latin1 dbname >dbname_backup.sql
  
导出一个数据库结构
   shell> mysqladmin -u root -p -d -add-drop-table databasename > a.sql
   注:-d 表结构 -add-drop-table 在每个create语句之前增加一个drop table
   如果只想获得插入数据的sql命令,而不需要建表命令,则命令如下:
   shell> mysqladmin -u root -p -t databasename > a.sql
  那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢?
   mysqldump -T ./ dbname tablename   ???
   其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。如果不指定tablename表,则将卸出整个数 据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,只包含数据,且没有sql指令。

恢复数据库
A:常用source 命令
   进入mysql数据库控制台
   mysql>use 数据库
   然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
   mysql>source db.sql
   B:使用mysqldump命令
   shell> mysqladmin -h myhost -u root -p create dbname
   shell> mysqldump -h host -u root -p dbname < dbname_backup.sql
   C:使用mysql命令
   mysql -u username -p -D dbname < filename.sql


----------------------------------------------------------------------------------
修改mysql中root的密码:
   shell>mysql -h localhost -u root -p //登录
   mysql> update user set password=password("xueok654123") where user='root';
   mysql> flush privileges //刷新数据库
  mysql>use dbname; 打开数据库:
   mysql>show databases; 显示所有数据库
   mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后
   mysql>describe user; 显示表mysql数据库中user表的列信息;
mysql>insert into tablename (字段,字段,字段) values(值,值,值),(值,值,值);
mysql>select <字段1,字段2,...> from < 表名 > where < 表达式 >;
------------------------------------------------------------------------------------


 
  为用户授权grant
  创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个
  mysql> grant all privileges on *.* to user@localhost identified by ’something’ with
  增加新用户
  格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”
  GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY ’something’ WITH GRANT OPTION;
  GRANT ALL PRIVILEGES ON *.* TO monty@”%” IDENTIFIED BY ’something’ WITH GRANT OPTION;
  删除授权:
  mysql> revoke all privileges on *.* from root@”%”;
  mysql> delete from user where user=”root” and host=”%”;
  mysql> flush privileges;
 
==============================================================================================================
mysql 新增字段 添加字段 删除字段 修改字段 级联删除 级联更新 等 
//主键
alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);

//删除列
alter table t2 drop column c;

//重命名列
alter table t1 change a b integer;

//改变列的类型
alter table t1 change b b bigint not null;
alter table infos change list list tinyint not null default '0';

//重命名表
alter table t1 rename t2;

//加索引
mysql> alter table tablename change depno depno int(5) not null;
mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]);
mysql> alter table tablename add index emp_name (name);

//加主关键字的索引
mysql> alter table tablename add primary key(id);

//加唯一限制条件的索引
mysql> alter table tablename add unique emp_name2(cardnumber);

//删除某个索引
mysql>alter table tablename drop index emp_name;

//增加字段:
mysql> ALTER TABLE table_name ADD field_name field_type;


//修改原字段名称及类型:
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;


//删除字段:
mysql> ALTER TABLE table_name DROP field_name;


//级联更新 和 删除(红色部分,不区分大小写 )
DROP TABLE IF EXISTS `mail_model`;
create table mail_model(
id varchar(50) primary key not null ,
mail_filename varchar(200),
content varchar(2000)
)ENGINE=InnoDB DEFAULT CHARSET=gbk;


DROP TABLE IF EXISTS `mail_model_extend`;
create table mail_model_extend(
id int(6) auto_increment not null primary key,
rid varchar(50) not null,
content varchar(2000),
INDEX (RID),
FOREIGN KEY (RID) REFERENCES mail_model(ID) ON DELETE CASCADE ON UPDATE CASCADE
)ENGINE=InnoDB DEFAULT CHARSET=gbk;
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值