MySQL数据库命令大全

一、数据库级别

查看所有数据库

show databases;

创建数据库

create database if not exists databaseName;

删除数据库

drop database databaseName;

进入某个数据库

use databaseName;

二、数据表级别

查看所有表

show tables;

查看表结构

desc 'tableName';

创建表

create table if not exists 'tableName'('column_name' column_type);

示例:

create table if not exists `tbl`(
   'id' int unsigned auto_increment,
   'title' varchar(100) not null,
   'author' varchar(40) not null,
   'date' date,
   primary key ('id')
)engine=innodb default charset=utf8;

其中column_type包括:
1.数据类型:
①整数类型:bit,bool,tiny int,small int,medium int,int,big int
②浮点数类型:float,double,decimal
③字符串类型:char,varchar,tiny text,text,medium text,longtext,tiny blob,blob,medium blob,long blob
④日期类型:date,datetime,timestamp,time,year
⑤其他数据类型:binary,varbinary,enum,set,geometry,point,multipoint,linestring,multilinestring,polygon,geometrycollection等。
2.约束:
①非空约束(not null)
②唯一性约束(unique)
③主键约束(primary key)
④外键约束(foreign key)
⑤默认值约束 (Default)
⑥自增约束(auto_increment)

删除表

drop table [if exists] 'tableName1','tableName2';

修改表

1.新增字段

alter table 'tableName1' add column 'columnName' column_type [after 'columnNamex'];

2.删除字段

alter table 'tableName1' drop column 'columnName';

3.修改字段的数据类型

alter table 'tableName' modify 'columnname' column_type;

4.修改表名

alter table 'oldTableName' rename 'newTableName'; 

5.修改字段名

alter table 'tableName' change 'oldName' 'newName' column_type; 

三、数据行级别

插入数据

  []表示可有可无,若不指定列,则values后的括号内需要给出所有列的值。

insert into tableName [(column1,column2,columnn)] values (value1,value2,valuen); 

删除数据

注意:若不给出where条件,会删除该表中的所有数据。

delete from tableName where columnName=value_n; 

修改数据

update tableName set columnName1=value_1,columnName2=value_2 where columnNamen=value_n; 

同样要注意写where条件。

查询数据

①查询所有列的数据

select * from tableName where columnNamen=value_n; 

②查询某些列的数据

select columnName1,columnName2,columnNamek from tableName where columnNamen>value_n; 

③去重查询

select distinct columnName1 from tableName where columnNamen<value_n; 

④排序查询
asc 表示升序
desc 表示降序

select * from tableName where columnNamen=value_n order by columnName1 asc,columnName2 desc; 

⑤分组查询

select * from tableName where columnNamen=value_n group by columnName1 having columnNamen<value_n; 

⑥限制查询

select * from tableName limit n;#查询前n行
select * from tableName limit n,m;#从第n+1行开始查询,查询m行  

连接查询

①inner join
  返回两个表的交集

select * from tableName1 inner join tableName2 where tableName1.column1=tableName2.column2;  

②left join
  返回左表的全部数据,右表数据若匹配显示值,不匹配则显示NULL。

select * from tableName1 left join tableName2 where tableName1.column1=tableName2.column2;  

③right join
  返回右表的全部数据,左表数据若匹配显示值,不匹配则显示NULL。

select * from tableName1 right join tableName2 where tableName1.column1=tableName2.column2;  

④full join
  返回两个表的全部数据,左右表数据中匹配的显示值,不匹配的显示NULL。

select * from tableName1 full join tableName2 where tableName1.column1=tableName2.column2;  

条件语句

①大于、等于、小于

select * from tableName where columnNamen>value_n;
select * from tableName where columnNamen=value_n; 
select * from tableName where columnNamen<value_n;

②in,between

select * from tableName where columnNamen in (value_1,value_2,value_n);
select * from tableName where columnNamen between value_1 and value_2;

③like

select * from tableName where columnNamen like 正则表达式;

四、存储过程

查看所有存储过程

-- 查看所有的存储过程
show procedure status;
-- 查看特定数据库存储过程
show procedure status where db='databaseName';

创建存储过程

1.in关键字后的是传入参数
2.out关键字后的是输出参数
3.begin、end所包裹的部分为存储过程的执行代码部分

create procedure procName(in inPara varchar(20),out outpara int)
begin
    #存储过程中要执行的语句
end

调用存储过程

call procName();--有参数就在括号内传入参数

删除存储过程

drop procedure if exists 'procName';

五、触发器

查看所有触发器

  其中information_schema为MySQL的信息数据库,保存着关于MySQL服务器所维护的所有其他数据库的信息,如数据库名,数据库的表,权限、约束、视图、触发器等。

show triggers;
select * from information_schema.triggers;

创建触发器

create trigger triggerName before|after  insert|update|delete on tableName for each row
begin 
    #被触发后要执行的语句
end

删除触发器

drop trigger if exists triggerName;

六、视图

查看视图结构

describe viewName;

查看所有视图

show table status where comment='view';

创建视图

create view viewName as 查询语句 
如:
create view viewName as select * from users;
create view viewName(id,name,age,sex) as select id,name,dept_id,age,sex from users;

调用视图

  视图就相当于一张特殊的表,像表一样使用即可,如:

select * from viewName;

删除视图

drop view if exists viewName;

七、事务

beginstart transaction 开启一个事务
#需要执行的语句,这些语句要么都被执行要么都不执行。
commit 提交事务
rollback 事务回滚,相当于撤销操作
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值