设为首页 加入收藏

TOP

shell 环境下MySQL的基本操作指令总结(一)
2017-11-22 06:07:13 】 浏览:157
Tags:shell 环境 MySQL 基本操作 指令 总结

一、对数据库的基本操作 
show databases;                      //列出数据库
use database_name;               //使用database_name数据库
create database data_name;   //创建名为data_name的数据库
drop database data_name;     //删除一个名为data_name的数据库:
use dbname; status                 //查看数据库dbname的详细信息


alter database db_name CHARACTER SET utf8;  //修改数据库编码


show variables like '%dir%';    // 查看mysql相关存放目录


二、对表的基本操作
show tables //列出所有表


创建一个名为tab_name的新表
create table tab_name( 
  id int(10) not null auto_increment primary key, 
  name varchar(40), 
  pwd varchar(40) 
) charset=gb2312;


eg: 


CREATE TABLE `test` (


  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1


//id自增的时候从7开始(表示前面已经有6行数据了)


eg:


CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1


drop table tab_name   //删除名为tab_name的数据表 
describe tab_name     //显示名为tab_name的表的数据结构 
show columns from tab_name   //同上 
delete from tab_name;    //删除表所有数据,不会重置自增的ID
TRUNCATE TABLE `db_name`.`tab_name`;    //截断表重置自增的id为0
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值


 例如:UPDATE `mydb`.`mytable` SET `myname` = 'xst' WHERE `id` = '3';


INSERT INTO 表名称 VALUES (值1, 值2,....)


(1)INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)


例如:INSERT INTO `mydb`.`mytable` (`id`,`name`) VALUES ('1','aa');


(2) INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) on duplicate key update field=values(field);    //field是字段名称,如果插入是,主键已经重复,则更新给出字段。


例如:insert into report.user_live (date,pid,osid,level) values('2017-07-26','3','0','2') on duplicate key update level = values(level);   //插入这行数字时,主键是(date,pid,osid)复合主键,并且该主键的数据已经存在且唯一,此时出入多一行数据,则键非主键level字段更新到对应的唯一主键对应的记录中。


SHOW TABLE STATUS WHERE Name = 'table_name';    //查看表的详细信息:


三、修改表结构
ALTER TABLE tab_name ADD PRIMARY KEY (col_name);                      //设置主键
col_name ALTER TABLE tab_name DROP PRIMARY KEY (col_name);   //删除主键
Alter table tab_name add col_name varchar(20);   //新增字段
alter table tab_name drop col_name;                    //删除字段


alter table tab_name modify col_name varchar(40) not null;   //修改字段属性,若加上not null则要求原字段下没有数据  
alter table tab_name rename to new_tab_name;      //修改表名
alter table tab_name change old_col new_col varchar(40);     //修改字段名,必须为当前字段指定数据类型等属性,否则不能修改 
create table new_tab_name like old_tab_name;     //用一个已存在的表来建新表,但不包含旧表的数据


ALTER TABLE `db_name`.`tab_name` ADD INDEX `index_name` (`col_name`);   //新增索引


ALTER TABLE `db_name`.`tab_name` ADD INDEX `index_name` (`id`, `name`);  //新增组合索引


CREATE  TABLE  table1  LIKE  table2;     //创建表table1复制表

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MySQL主从复制技术的简单实现 下一篇MySQL数据表RANGE分区实例详解

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目