linux命令行操作mysql数据库_linux命令行操作mysql数据库明细

连接数据库==》

mysql -uroot -p

输入root密码

进入mysql操作后 下面的命令不要忘了最后结尾的;

1.选择数据库

命令: use

2.查看表的引擎类型等状态信息

SHOW TABLE STATUS [FROMdb_name] [LIKE 'pattern']

3.当前数据库包含的表信息

show tables;

4.查看当前使用的数据库

select database();

5.删除数据库

命令:drop database ;

6.显示所有的数据库

命令:show databases;(注意:最后有个s)

7.创建数据库

命令:create database ;

8.建立表

create table ( [,.. ]);

补充:根据已有的表创建新表。

8.1 create table tab_new like tab_old; (只有表结构)

8.2 create table tab_new as select * from tab_old; (既包含表结构,又包含表数据)

9.获取表结构

命令:

desc 表名;

or

show columns from 表名;

10. 删除表

命令:drop table ;

11.更改表名

命令:rename table 原表名 to 新表名;

12.在表中增加字段

命令:alter table 表名 add 字段 类型 其他;

例如:alter table myclass add passtest int(4) default '0';

13.插入数据

命令:insert into [( [,.. ])] values ( 值1 )[, ( 值n )];

例如:

insert into myclass (id, name, sex, degree, passtest) values(1, 'david', 1, 80.56, 78);

insert into myclass values(2, 'sandy', 0, 100, 90);

insert into myclass (id, name, sex, degree) values(3, 'renee', 0, 90.34);

14.导出整个数据库

命令:mysqldump -u 用户名 -p 数据库名 > 导出的文件名

15.导出一个表

命令:mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

16.导出一个数据库结构

命令:mysqldump -u root -p -d --add-drop-table test > test_db.sql

-d 没有数据 --add-drop-table 在每个create 语句之前增加一个drop table

17.常用source 命令

source "路径名"+/mytest_emp_dept.sql

show open tables;

能够查看当前有那些表是打开的。In_use列表示有多少线程正在使用某张表,Name_locked表示表名是否被锁,这一般发生在Drop或Rename命令操作这张表时。

所以这条命令不能帮助解答我们常见的问题:当前某张表是否有死锁,谁拥有表上的这个锁等。

show open tables from database;

show OPEN TABLES where In_use > 0;

SELECT * FROM information_schema.`PROCESSLIST`;

添加索引

ALTER TABLE t_cms_home ADD INDEX IDX_SID(C_SID);

查看表索引索引

show INDEX from t_cms_home;

show keys from t_u_basic;

SHOW PROCESSLIST显示哪些线程正在运行

show processlist;只列出前100条,如果想全列出请使用show full processlist;

查看服务器状态。

show status like '%lock%';

日志:二进制文件记录

show variables like 'log_bin';

记录二进制数据的文件具体信息

show master status;

explain命令显示了mysql如何使用索引来处理select语句以及连接表

EXPLAIN的使用方法:

在select语句前加上explain就可以了。

显示系统变量的名称和值

show variables;

显示服务器所支持的不同权限

show privileges;

显示create database 语句是否能够创建指定的数据库

show create database database_name;

显示create database 语句是否能够创建指定的数据表

show create table table_name;

显示安装以后可用的存储引擎和默认引擎。

show engies;

显示innoDB存储引擎的状态

show innodb status;

显示BDB存储引擎的日志

show logs;

显示最后一个执行的语句所产生的错误、警告和通知

show warnings;

只显示最后一个执行语句所产生的错误

show errors

18 说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)

insert into b(a, b, c) select d,e,f from b;

19.说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)

insert into b(a, b, c) select d,e,f from b in ‘具体数据库' where 条件

例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..

20、说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括

select * from table1 where time between time1 and time2

select a,b,c, from table1 where a not between 数值1 and 数值2

21、说明:一条sql 语句搞定数据库分页

select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段

desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段

22、

select * from table1, table2 where table1.id *= table2.id --------

左外部连接, table1 中有的而 table2 中没有得以 null表示 table1.id =* table2.id -------- 右外部连接

23、delete from table_name where Stockid = 3

truncate table_name ----------- 删除表中所有行,仍保持表的完整性

drop table table_name --------------- 完全删除表

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值