MySQL—常用指令总结

1、数据库操作

创建库
  mysql> create database db_name;

查询库
  mysql> show databases; //显示所有的数据库
  mysql> show create databases db_name; //显示特定的数据库

删除库
  mysql> drop database db_name;

修改库
  mysql> alter database db_name [modify command];
  mysql> alter database db_name character set gbk;


2、表操作

创建表
  mysql> use db_name;
  mysql> create table tbl_name (column_structure) [tbl_option];

如:

  mysql> create table tbl_name(
  variable_name1 varchar(10)
  variable_name2 int
    );

或:

  mysql> create table db_name.tbl_name(
  variable_name1 varchar(10)
  variable_name2 int
  );`

查询表
查看有哪些表
  mysql> show tables;

  mysql> show tables like 'pattern_%';
查看表的创建信息
  mysql> show create table tbl_name;

  mysql> show create table tbl_name \G
查看表的结构
  mysql> describe tbl_name;

  mysql> desc tbl_name;

删除表
  mysql> drop table [if exists] tbl_name;

修改表
修改表名
  单个:mysql> rename table old_tbl_name to new_tbl_name;
  多个:mysql> rename table old_tbl_name1 to new_tbl_name1, old_tbl_name2 to   new_tbl_name2;
  跨数据库:mysql> rename table old_tbl_name to db_name.new_tbl_name;
修改列定义
增加新列定义:add
  alter table tbl_name add new_column_name data_type;
如:
  alter table exam_student add height int;
修改列的定义(新的属性或者数据类型):modify
  mysql> alter table tbl_name modify column_name new_data_type;
删除一个列:drop
  mysql> alter table tbl_name drop column_name;
重命名一个列:change
  mysql> alter table tbl_name change old_column_name new_column_name new_data_type;
修改表选项:
  mysql> alter table tbl_name new_tbl_option;
  mysql> alter table tbl_name character set utf8;

3、数据操作

创建数据
  mysql> insert into tbl_name (fields_list) values (values_list);
如:
  mysql> insert into exam_student (stu_name, stu_no) values ('xiaoming', 'php030_01');
若插入所有字段值
  insert into exam_student values ('xiaoming', 'php030_01', 98);

查询数据
查看字段信息
  mysql> select * from tbl_name;
参看具体字段列表信息
  mysql> select fields_list from tbl_name where condition;
如:默认状态下
  mysql> select stu_name, stu_no from exam_student;
或:
  mysql> select stu_name, stu_no from exam_student where 1;
有条件查询
  mysql> select * from tbl_name where condition;
如:
  mysql> select * from exam_student where fenshu >= 60;

删除数据
  mysql> delete from tbl_name condition;
如:
  mysql> delete from exam_student where fenshu <= 50;

修改数据
  mysql> update tbl_name set field = new_value where condition;
如:
  mysql> update exam_student set fenshu =100 where fenshu >= 97;

4、主键:primary

如:法一:

  create table teacher(
  t_id int primary key [auto_increment],
  t_name varchar(5),
  class_name varchar(6),
  t_days tinyint unsigned
  );

法二:

  mysql> create table teacher(
  t_id int,
  t_name varchar(5),
  class_name varchar(6),
  t_day tinyint unsigned,
  primary key (t_id)
  );
  
  mysql> insert into teacher values (1, '王老师', '0225', 23);

在已创建表中添加主键操作:
  mysql> alter table tbl_name add primary key (field) ;
  mysql> alter table tbl_name modify colunm_name data_type not null primary key auto_increment;
自动增长:auto_increment
  mysql> alter table tbl_name auto_increment initial_value;
在已创建表中的主键id上添加auto_increment
  mysql> alter table tbl_name id_name id_name int auto_increment;

5、外键:foreign key

如:
主表:

  mysql> create table itcast_class(
  class_id int primary key auto_increment,
  class_name varchar(10) not null default 'itcast_php' comment '班级名称'
  ) character set utf8;

从表:

  mysql> create table itcast_student(
  stu_id int primary key auto_increment,
  stu_name varchar(10) not null default '',
  class_id int,
  foreign key 
  (class_id) references
   itcast_class (class_id)
  ) character set utf8;

插入数据的顺序:先主表,后从表
  mysql> insert into itcast_class values (null, 'php0331');
  mysql> insert into itcast_student values (null, '张三', 1);
删除操作:
  mysql> alter table itcast_student drop foreign key itcast_student_ibfk_1;
  mysql> alter table itcast_student add foreign key (class_id) references itcast_class (class_id)
  on delete set null; //主表里删除某个字段,从表若对应外键则变成null
或者: 
  on delete cascade;//主表删除一个字段,从表对应的外键则会删除相应的值
又或者:
  on update restrict;//不允许主表进行更新操作
  mysql> delete from itcast_class where class_id = 1;

6、最大值

mysql> select max(field) from tbl_name;

7、连接

内连接

  mysql> select tbl1_name.field, tbl2_name.field1, tbl2_name.field2... from tbl1_name inner join tbl2_name on tbl1_name.id = tbl2_name.id where condition;

外连接

  select tbl1_name.fields, tbl2_name.fields from tbl1_name left outer join tbl2_name on tbl1_name.id = tbl2_name.id;

8、更改数据库密码方法:

进入mysql中后,在命令行中mysql>
输入:mysql> set password for [root@localhost](mailto:root@localhost) = password('123456');

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,531评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 3,780评论 0 11
  • 数据库 数据库名称 1.如果数据框名是关键词,需要用反引号``括起来。查询like语句则需要用单引号''。2.引用...
    luckstarjianshu阅读 1,196评论 0 0
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,027评论 0 19
  • 《灸身柱》《养生一言草》载:小儿每月灸身柱、天枢,可保无病。 身柱穴属督脉,在项后第三胸椎与第四胸椎之间。 身柱有...
    菡丹阅读 167评论 0 0