MySQL数据库命令大全

MySQL数据库命令大全,第1张

一、数据库级别 查看所有数据库
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 事务回滚,相当于撤销 *** 作

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/sjk/991662.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存