首页 > 数据库 > mysql常用语法汇总

mysql常用语法汇总

时间:2023-02-03 17:03:42浏览次数:66  
标签:classname name -- 汇总 语法 student mysql tb select

增删改查

-- 新增
insert into tb_student (`name`,age,sex,classid) values('李四',18,1,1);
-- 删除
delete from tb_student where id=1;
-- 修改
update tb_student set `name`='王五' where id=2;
-- 查询
select * from tb_student where name like '王%' and age=18;

排序、分页、去重、分组

-- 排序
select * from tb_student order by id desc;
-- 分页
select * from  tb_student where name like 'a%' order by id desc LIMIT 10,5 ;
-- 去重
select distinct age from tb_student
-- 分组
select age,count(1) as num from tb_student group by age

 表、字段操作

-- 建表
create table `tb_class` (
  `classid` int not null auto_increment,
  `classname` varchar(255) default null,
  `classtype` varchar(10) default null,
  primary key (`classid`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci;
-- 新增字段
alter table tb_class add createtime date;
-- 修改字段
alter table tb_class modify column  createtime varchar(20);
-- 删除字段
alter table tb_class drop column createtime;

视图

-- 创建视图
drop view if exists `view_student1`;
create view view_student1
as
select * from tb_student;
-- 查看视图字段信息
DESCRIBE view_student1;

事务

 

-- 开启事务
begin; -- 或start transaction
insert into tb_class (classname,classtype) value('一班','特级班');
update tb_class set classname='二班' where classname='一班';
-- commit; 提交事务
rollback; -- 回滚事务
-- 查看事务的隔离级别
select @@TRANSACTION_ISOLATION;
-- 设置事务的隔离级别
SET [SESSION|GLOBAL] TRANSACTION ISOLATION LEVEL {READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE};

存储过程

-- 创建存储
delimiter // -- 用来声明SQL语句的结束符号
drop procedure if exists proc_student1;
create procedure proc_student1 (in classname varchar(20),out result varchar(20))
begin
declare classtype varchar(20);
set classtype='特级班';
insert into tb_class (classname,classtype) value(classname,classtype);
update tb_class set classname='二班' where classname=classname;
set result='成功';
end //
-- 当创建完一个存储过程之后再将分隔符替换为分号,为了不影响其他的操作
delimiter ;

-- 调用存储过程,并且查询输出参数的值
call proc_student1('二班',@result);
select @result;

索引

-- 普通索引
create index ix_stdent1 on tb_student (`name`);
-- 唯一索引
create unique index ux_student1 on tb_student(`name`);
-- 联合索引
create index ix_stdent1 on tb_student (`name`,age);
-- 查看SQL语句执行走哪个索引
explain select * from tb_student where name like 'a%' and age = 10

 

标签:classname,name,--,汇总,语法,student,mysql,tb,select
From: https://www.cnblogs.com/LTQ151/p/17088053.html

相关文章

  • mysql数据库锁-设置读写锁
    有这样一个业务场景,比如另外一个团队的人只想要我们这边sit库的读权限,来查看数据。但是开发人员只有一个是数据库账号,也就是说对数据库读写权限都有的账号。那开发人员怎......
  • MySQL 8.0 数据复制到 5.7
    场景公司后端机子给前端连接协同开发,但是又不太方便,正好我手上公司的电脑没有用,就准备拿来当专门的后端接口开发服务器然后就开始在本子上新搭一个环境,并迁移代码和数......
  • Mysql: 【Percona XtraBackup 2.4】 版的安装包 官方下载地址
    DownloadPerconaXtraBackup2.4https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.27/binary/tarball/ ......
  • Docker 修改容器中的mysql密码
    1、查看容器服务   dockerps2、进入mysql容器    dockerexec-itmysql/bin/bash注:mysql为容器的名字3、登录MySQLmysql-u......
  • 记录使用pymysql的坑
    python使用pyMysql写入数据时pymysql的写入的sql语句中,使用占位符%s写入数据,没有%d, %f这样的说法无论在数据库表的对应字段是否为字符串类型如果把占位符改为数据表......
  • 37面向对象-基本语法
    packagechapter04;publicclassJava01_Object{publicstaticvoidmain(String[]args){//TODO面向对象//面向对象指分析问题时,以问题所涉及......
  • MySQL数据库的安装(安装以及简单数据库操作)
    有关mysql数据库 MySQL是目前比较流行的关系型数据库管理系统之一,其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,深受中小型网站用户的欢迎。安装方式一​​点击......
  • Markdown语法与Typora基础操作学习
    在2.2~2.3的两天时间内,我学习了Markdown语法,并且将其实践于Typora之中。在学习的过程中,Typora带给了我意想不到的惊喜,比起印象笔记和OneNote的功能,Typora丰富的快捷键设置......
  • KingbaseES 与 Oracle XML 语法比较
    KingbaseES内置支持XML相关操作,也可以通过xml2插件进行扩展支持。以下通过例子介绍KingbaseESXML与Oracle在用法上存在的一些差异。一、数据准备createtablet......
  • mysql必知必会——GROUP BY和HAVING
    GROUPBY语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。select子句中的列名必须为分组列或列函数,列函数对于groupby子句定义的每个组......