mysql(1)——SQL基础

SQL基础

 

SQL语句分类

DDL(Data Definition Language 数据定义语言)用于操作对象和对象的属性,定义不同数据段、数据库,表、列、索引等数据库对象,关键字Create、Drop、Alter。

DML(Data Manipulation Language 数据操控语言)用于操作数据库对象中包含的数据,增删改查及检查数据完整性等。关键字Insert、Delete、Update、Select。

DCL(Data Control Language 数据控制语句)的操作是数据库对象的权限,定义数据库、表、字段、用户访问权限,安全级别等。关键字Grant(允许对象的创建者给某用户或某组或所有用户(PUBLIC)某些特定的权限)、Revoke(可以废除某用户或某组或所有用户访问权限)。

 

ddl语句

mysql -uroot -p

create database db1;

drop database db1;

show databases;

use db1;

show tables;

create table tb1();

drop table tb1;

desc tb1; //查看表定义

show create table tb1; //查看表详细定义

alter table tb_name modify [column] column_difinition [FIRST/AFTRE col_name];//修改类型

alter table tb_name add [column] column_difinition [FIRST/AFTRE col_name];//增加字段

alter table tb_name drop [column] col_name;//删除字段

alter table tb_name change [column] old_col_name column_difinition [FIRST/AFTRE col_name];//改字段名

alter table tb_name rename [to] new_tb_name; //改表名

alter table tb1 modify name varchar(10);

alter table tb1 add name2 varchar(10);

alter table tb1 drop name2; //alter table tb1 drop column name2;

alter table tb1 change name2 name3 int(10);

 

dml语句

insert into tb_name (k1,k2,k3,...) values (v1,v2,v3,...), (v1,v2,v3,...),(v1,v2,v3,...),...;

updata tb_name set k1=v1, k2=v2, ... [where condition];

delete from tb_name [where condition];

delete a,b from tb1 a, tb2 b where a.id=b.id; //联表删除

 

//查询

select [distinct]* from tb_name [left/right/inner join tb_name2 on condition] [where condition] [order by field1 [asc/desc] [,field [asc/desc]]] [limit 0, 10];

select max(id)/count(*)/min(id)/sum(id) from tb_name [where condition] [group by field1,field2 [with rollup] having [condition];//聚合

//distinct 去重

//group by分类聚集字段

//with rollup 是否对分类聚集的结果进行再汇总

//having 对分类结果进行条件筛选 where是在聚合前筛选

 

//子查询 [not] in, =, !=, [not] exists

select a,b,c from tb1 where a in(select a from tb2);

select a,b,c from tb1 where a = (select a from tb2 limit 1);

select tb1.a,tb1.b,tb1.c from tb1,tb2 where tb1.a = tb2.a;//子查询转表连接,用于优化子查询

 

//联合 union [all]

select * from tb1 union [all] select * from tb2 ;//union去除重复数据 union all所有数据

 

dcl语句

grant select,insert on db1.* to ‘user_name’@’localhost’ identified by ‘user_password’; //创建用户,对数据库db1赋予增加,查询权限

revoke select on db1.* to ‘user_name’@’localhost’; //取消权限

FLUSH PRIVILEGES; //mysql刷新权限命令 一般用于数据库用户信息更新后

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值