show databases;
use dbname;
show tables;
库操作
drop database dbname;
create database dbname default character set utf8;
表操作
CREATE TABLE tablename (
id int primary key NOT NULL AUTO_INCREMENT,
other varchar(10) unique NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
delete from tablename;
truncate table tablename;
drop table if exists tablename;
表重命名
alter table oldtbname rename newtbname;
显示创表语句
show create table tablename;
显示列内容
use desc tablename;
desc dbname.tablename;
show columns from dbname.tablename;
修改表
alter table tbname
add column_name column_type [not null]; //增加列
change old_column_name new_column_name column_type; //修改列
drop column_name; //删除列
索引创建与删除
show index from tbname;//查看索引
alter table tbname add index index_name(column_name1, column_name2); //添加普通索引
alter table tbname drop index column_name1;
alter table tbname add unique(column_name1); //添加唯一索引
create index index_name on table_name (column_list);
create unique index index_name on table_name (column_list);
drop index index_name on table_name;
alter table table_name drop index index_name;
alter table table_name drop primary key;
实用操作
insert into table_a(column_1,...) select column_1,... from table_b; //主键检查,已经存在则报错
insert ignore into table_a(column_1,...) select column_1,... from table_b; //忽略主键,已经存在则跳过
replace into table_a(column_1,...) select column_1,... from table_b; //忽略主键,已经存在则覆盖
update table_a a set column_1 = (select column_1 from table_b b where a.id=b.id);
insert into table_a(column_1,...) value(...) on duplicate key update column_1='',column_2='';
登陆到mysql
在DOS下进入到MySQL的bin目录,执行mysql -u root –p或者mysql -uroot –p
输入密码即可
修改密码
在DOS下进入到MySQL的bin目录,执行:
mysqladmin -uroot -pold password new
退出mysql
quit或者exit
数据库的备份
1.导出整个数据库
在DOS下进入到MySQL的bin目录,执行mysqldump --no-defaults -u root -p dbname > xxx.sql
2.导出一个表
类似上面用法:mysqldump -u username -p dbname tablename > xxx.sql
3.导出一个数据结构
用法:mysqldump -uroot -p -d –add-drop-table 数据库名>导出文件名
**注意:
-d表示没有数据
–add-drop-table表示在每一个create语句之前添加一个drop table语句
此文件,和先前的两个文件比较,该文件里没有插入的数据.
数据库的导入
1.在DOS下进入到MySQL的bin目录,执行mysql -u root -p dbname < filename.sql
2.进入mysql数据库,create dbname,use dbname,然后执行source xxx.sql
显示字符集
mysql > show variables like '%char%';
1.查看 MySQL 数据库服务器和数据库字符集。
mysql> show variables like '%char%';
2.查看 MySQL 数据表(table) 的字符集。
mysql> show table status from sqlstudy_db like '%countries%';
3.查看 MySQL 数据列(column)的字符集。
mysql> show full columns from countries;
4.查看当前安装的 MySQL 所支持的字符集。
mysql> show charset; mysql> show char set;
MySQL用户管理与授权
命令格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
权限:select/insert/update/delete/all,多个权限之间用英文逗号隔开。
数据库:数据库名称,或者使用“*”代替所有数据库。
登录主机:localhost/具体IP/%,其中“%”代表除localhost之外的所有IP。
快速参考:
grant all on database1.* to user1@'%' identified by 'pass';
grant select on database2.* to user1@'%';
grant all on database1.* to user2@'localhost' indetified by 'password';
grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";
show processlist;
显示系统中正在运行的所有进程,也就是当前正在执行的查询。
show table status;
显示当前使用或者指定的database中的每个表的信息。信息包括表类型和表的最新更新时间
show index from table_name;
显示表的索引
重定向(linux使用,相当于将tb1数据导入tb2)
mysqldump tb1 -uroot -p123456 | mysql tb2 -uroot -p123456
MySQL基础命令大全
猜你喜欢
转载自blog.csdn.net/yi_cui_1207/article/details/81184467
今日推荐
周排行