常用mysql语句
? ? ? ?下面總結(jié)一下常用SQL語句,供記錄。
?
show databases; ??查看所有數(shù)據(jù)庫
use database_name;???使用數(shù)據(jù)庫名為database_name的數(shù)據(jù)庫
create database database_name; ?創(chuàng)建名為database_name的數(shù)據(jù)庫
show create database database_name\G ?查看創(chuàng)建好數(shù)據(jù)庫名database_name的定義
drop database database_name;刪除數(shù)據(jù)庫名為database_name的數(shù)據(jù)庫
show engines; ??查看系統(tǒng)所支持的引擎類型
show variables like '%storage_engine%'; ?查看數(shù)據(jù)庫默認(rèn)的儲存引擎
create table stu(id int, name varchar(20)); ?創(chuàng)建一個學(xué)生表,并制定id和name
drop table table_name; ?刪除表名為table_name的表
desc stu; ??查看表名為stu的表結(jié)構(gòu)
alter table stu rename test; ???將表名stu修改為test
alter table test modify name varchar(30);修改表的數(shù)據(jù)類型(將name字段的類改為varchar(30))
alter table test change hobby aihao varchar(30);修改表的字段名(將表的hobby字段改為aihao 類型為varchar(30))
alter table test add hobby varchar(20);增加字段名(增加字段hobby類型為varchar(20))
alter table test add quedian varchar(20) first;在表的第一列增加字段quedian
alter table test add high int after name;在表的name后面增加一列字段high
alter table test drop quedian;刪除表的quedian字段
alter table test modify aihao varchar(20) first;修改aihao字段為表的第一列字段
alter table test modify name varchar(20) after high;將name字段放在high字段后面
alter table stu engine=myisam;修改表的引擎為myisam
Alter table stu drop foreign key fk_stu2;刪除表的外鍵約束,stu是表名,fk_stu2是外鍵名
select * from tmp where id between 1 and 3;查找num在1~3之間的行
select * from tmp where id in (1,3); ?查找id=1和id=3的對應(yīng)的列
select * from tmp where id not in (1,3); ?查找id!=1和id!=3的列
select *from tmp1 union select * from tmp2; ?顯示合并查詢的結(jié)果(默認(rèn)刪除重復(fù)的記錄)
select *from tmp1 union all select * from tmp2; 顯示合并查詢的結(jié)果(不刪除重復(fù)的記錄)
select * from tmp1 where exists (select * from tmp2 where num=6); ?exists意為存在,括號的查詢語句有返回記錄,則exists語句為真。當(dāng)exists語句為真時,前面查詢tmp1語句才會執(zhí)行
select *from tmp1 where num > all (select * from tmp2); ?all需要同時滿足所有的內(nèi)層查詢條件。即num要大于tmp2表中所有的num,最前面的查詢條件才會執(zhí)行。
select * from tmp1 where num > any (select * from tmp2); ?any只需要滿足內(nèi)存查詢記錄中的任意記錄。即num大于表tmp2中的任意一個num
insert into tmp(age,name) values(5,”zhangsan”) ?只向表中插入部分字段的數(shù)據(jù)
?insert into tmp2 (select * from tmp); ?將tmp的查詢結(jié)果插入tmp2中
update tmp set age=10,name="zhangsan" where id=1; 修改表tmp中age和name字段
alter table tmp add index tmp_index(id); 給表tmp創(chuàng)建一個id索引,索引名為tmp_index
create index tmp1_index on tmp1(id); 給表tmp1創(chuàng)建一個id索引,索引名為tmp1_index
alter table tmp1 drop index tmp1_index; 刪除表中名為tmp1_index的索引
drop index tmp_index on tmp; ?刪除表中索引名為tmp_index的索引
Show index for stu; ??查看表stu的索引
show variables like 'autocommit'; 查看autocommit字段的狀態(tài)
alter table stu disable keys; ?禁用表stu的索引
alter table stu enable keys; ?打開表stu的索引
?
總結(jié)
- 上一篇: 查询无法解析索引的几种情况
- 下一篇: linux进程同步/通信,线程同步/通信