mysql数据库和表操作
Linux 查看数据库和表
- 连接数据库
mysql -h localhost -u 用戶名 -p密碼
- 使用数据库
use desk_show;
- 显示数据表
show tables;
- 显示表结构
describe desk6_0;
mysql其他命令:
-
显示数据库
show databases;
-
创建数据库
create database name;
-
选择数据库
use databasename;
-
执行命令
source /root/20151010.sql
-
直接删除数据库,不提醒
drop database name
-
显示表
show tables;
-
显示具体的表结构
describe tablename;
-
select 中加上distinct去除重复字段
mysqladmin drop databasename
删除数据库前,有提示。 -
显示当前mysql版本和当前日期
select version(),current_date;
- 1
root密码管理
- 设置root用户的密码
mysqladmin -uroot password 'password'
- 修改root用户的密码
mysqladmin -uroot -p password 'password'
数据库,表管理 - 进入mysql
mysql -h hostname -uroot -p
- 创建数据库
mysql> create database location
- 导入数据结构
mysql -uroot -p location <./location.sql
- 查看数据库
mysql> show databases;
- 进入某个库
mysql> use location;
- 查看表信息
mysql> show tables;
- 查看表结构
mysql> desc Contact;
- 改表名
mysql> rename table Contact to Contact_new
- 删除库
mysql> drop database location
- 删除表
mysql> drop table Contact
授权部分 - 建立用户并授权
mysql> grant all on location.* to gk1020@'10.1.11.71' identified by 'gk1020'
- 取消授权
mysql> revoke all on location.* from gk1020@'10.1.11.71'
- 刷新权限
mysql> flush privileges
操作语句 - 查询
mysql> select * from Contact
mysql> select count(*) from Contact
- 修改
mysql> update Contact set RegTime=‘2008-01-01 00:00:00’ where id=1
mysql> update Contact set RegTime=‘2008-01-01 00:00:00’,CID=1 where id=1
- 插入
mysql> insert into Contact values('',''…)
mysql> insert into Contact(ID,CID,Contact) values('',''…)
- 删除
mysql> delete from Contact where id=1
- 备份数据库
location mysqldump -uroot -p -l location >./location.sql
- 备份某个表
mysqldump -uroot -p -l --database location --table Contact >./contact.sql
- 导出数据库location的数据结构
mysqldump -d -uroot -p location >./location.sql
- 恢复数据库:
mysql -uroot -p location < location.sql
- 备份数据文件和sql文件分离:
mysqldump -uroot -p location contact -T backup/
- 导出数据:
select * from contact into outfile 'contact.txt';
- 恢复sql文件:
cat contact.sql | mysql -uroot -p location
- 导入数据(要跟绝对路径)
mysqlimport -uroot -p zhang /usr/local/mysql/var/backup/contact.txt
- 复制表 复制表Contact为Contact_bak
mysql> create table Contact_bak as select * from Contact
- 复制表Contact的结构
mysql> create table Contact_bak as select * from Contact where 1=2
- 查看正在执行的任务
mysql> show processlist
- kill正在执行的任务
mysqladmin -uroot -p kill process_id
- 查看表状态:
mysql> check table Contact or mysqlcheck -uroot -p -c location Contact
- 修复表:
mysql> repair table Contact or mysqlcheck -uroot -p -r location Contact
- 优化表:
mysql> optimize table Contact or mysqlcheck -uroot -p -o location Contact