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;
七、事务
begin 或 start transaction 开启一个事务
#需要执行的语句,这些语句要么都被执行要么都不执行。
commit 提交事务
rollback 事务回滚,相当于撤销 *** 作
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)