MySQL数据库常用命令(全)

MySQL常用命令

show databases;
show variables like 'default_storage_engine'; (查看默认引擎)
set default_storage_engine = innodb; (修改引擎)
desc  tableName;(查询表结构)
show create table _name\G(查看建表 语句)
show tables;
编码格式修改:
 show variables like 'character%';  (查看编码格式)
set character_set_client=utf8 ;
set character_set_connection=utf8 ;
set character_set_database=utf8 ;
set character_set_database=utf8 ;
set character_set_results=utf8 ;
set character_set_server=utf8 ;
set character_set_system=utf8 ;
alter(用于修改表结构):
 //用于重命名
alter table oldTableName rename newTableName ; 
//修改字段数据类型
alter table TableName modify 字段 +数据类型;
//修改字段名称添加
alter table TableName  change oldCol_Name newCol_Name data_type;
//添加字段
alter table TableName add Col_Name data_type  [after Col_Name] [first];
删除字段
alter table TableName drop col_name; 
对记录的处理:
插入记录  (或将一张表插入到另一张)
insert into TableName(Col_Name.....)  values (value1.....)
修改记录
update Table_Name set Col_Name = values ;//对字段所有的记录进行修改
update Table_Name set Col_Name = values where Col_Name = values;//用where对修改范围进行限定
删除记录
delete from Table_Name ;  //将删除表中所有记录
delete from Table_Name where Col_Name || Col_Name <>= num;   //用where对修改范围进行限定
对记录语句的查询:
select * from Table_Name ;//*号是通配符,表示所以字段
select Col_Name from Table_Name ;//查询指定字段,中间用逗号隔开

//用where对修改范围进行限定
select Col_Name from Table_Name where  Col_Name <>= values;

 //and表示同时符合两个条件
select Col_Name from Table_Name where Col_Name <>= values AND Col_Name <>= values ; 

 //or表示符合任意一条件
select Col_Name from Table_Name where Col_Name <>= values OR Col_Name <>= values ; 

 //与or相同作用,但条件多时使用in
select Col_Name from Table_Name where Col_Name IN (values1,values2) ;
//MySQL提供not,与in同时用,表示不再当前in范围内
select Col_Name from Table_Name where Col_Name not IN (values1,values2) ;

//distinct 可以使查询结果不重复
select distinct Col_Name from Table_Name;

//between...and...可以限定查询范围
select Col_Name from Table_Name where Col-Name Between value1 and value2;
也可以与not连用
select Col_Name from Table_Name where Col-Name not Between value1 and value2;

//like 是字符查询匹配用"%"  , "_"
select Col_Name from Table_Name where Col-Name like value%;  //表示任意长度字符
select Col_Name from Table_Name where Col-Name like value_;    //一个表示一个字符

//排序查询order by  根据字段记录排序,默认升序查询
select Col_Name from Table_Name order by Col_Name [asc(升序)/desc(降序)]; //空值记录会排在最前面
//多字段排序
select Col_Name from Table_Name order by Col_Name1 [asc/desc] Col_Name2 [asc/desc]; //先按前面再按后面排序(前主后次)
//limit限制查询结果数量
select Col_Name from Table_Name limit [起始位置][数量];
//聚合函数与分组查询
count() , sum() , avg() , max() ,min()
//使用
select function(字段名)(As 。。 //用来取别名) from 表名 where 条件 
例如:select type,avg(price) from goods ;

// 分组查询 group by ,按照字段进行分组
select  字段名 from table_name group by 字段名
//group by 与 having 可以进行过滤之后再分组,通常组合使用
多表数据记录查询
连接查询:
//普通内连接查询,必需有相同的数据类型的字段可以通过该字段建立联系
select 字段名 from table_Name1 inner join table_Name 2 
on table_name.Col_name=table_name2.Col_name where 条件;
等价于
select 字段名,字段名from table_name1,table_name2 
where  table_name.Col_name=table_name2.Col_name And 条件;
//自连接查询,查询涉及的两张表其实为同一张表,可以起别名视为两张不同的表(防止产生二义性)
select 字段名1,字段名2... form table1 as S1,table2 as S2 where S1.字段=S2.字段 
And 条件;

匹配查询:
//左连接查询,left join 左边的表称为左表,与另外一张表的每一行进行匹配,符合条件则返回,
不符合,则只返回左表的行
select 字段名1,字段名2 from table1 left join table2 on table1.字段名 = table2.字段名

子查询,就是嵌套查询,再内层中嵌入外层:
//from 子查询
select 字段名 from (select 字段名 form table_Name)As table _alias where 条件
//where 子查询(采用了 in 关键字);
select 字段名 from table_name1 where 字段名 in (select 字段名 from table_name2 where 条件)
//采用 any , some 关键字(同义词),表示满足任一条件均会返回值
select 字段名 from table_name where 字段名<>=any | some (select ...................) ;
//采用 all 关键字,表示满足所有条件才会返回值
select 字段名 from table_name where 字段名 <>=all (select ....)
//采用 exists 关键字的子查询,对返回结果进行判断,ture 则放回,false 则不执行
select 字段名 from table_Name where exists (select...............);
合并查询结果:
//union 过滤重复,使结果不重复
select ................... union select ..................;
//union all 合并所有的查询结果
select .................. union all select ................;

更多。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值