当前位置:   article > 正文

【mysql】需熟练掌握的SQL语句_delete between and

delete between and

MySQL数据库

sql语句对于后台开发人员来说,是必不可少的,不管你是刚入职的,还是工作了一段时间,sql的离不开,同时不管是hibernate还是mybatis,特别是mybatis,sql完全由程序员开发,所以,sql的重要性不言而喻。

1.操作数据库

  1. -- 查询数据库
  2. show databases;
  3. -- 创建数据库
  4. create database newDatabase;
  5. -- 删除数据库
  6. drop database newDatabase;

2.操作数据表

  1. -- 选择指定数据库
  2. use testDB;    
  3. -- 查询当前数据库下的全部数据表
  4. show tables;
  5. -- 创建表
  6. create table tb_user(
  7.     id int(11not null auto_increment primary key,
  8.     name varchar(255not null,
  9.     age int(11)
  10. );
  11. -- 创建表,存在则不会创建
  12. create table if not exists tb_user2(
  13.     id int(11not null auto_increment primary key,
  14.     name varchar(255not null,
  15.     age int(11)
  16. );
  17. -- 使用旧表创建新表(只复制表的结构,不复制表的数据)
  18. create table newTable like tb_user;
  19. -- 使用旧表(部分列)创建新的表(既复制表的结构又复制表的数据)
  20. create table newTables as select id,name,age,matching from tb_user;
  21. -- 使用就表创建新表(全部列,既复制表的结构又复制表的数据)
  22. create table newTable1 as select * from tb_user;
  23. -- 查询表的结构
  24. desc testAlter;
  25. show columns from testAlter;
  26. -- 将A表的查询结果插入到B表中。
  27. insert into tb_new_user select * from tb_user;
  28. -- 清除表中的数据
  29. -- 注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能用于有外建约束引用的表
  30. truncate table tb_new_user;
  31. -- 删除表如果存在
  32. drop table if exists tb_new_user2;
  33. -- 对数据表的列进行操作
  34. -- 对表的重命名
  35. alter table tb_user1 rename [TO] tb_new_user1;
  36. -- 增加列
  37. alter table tb_user add new_column varchar(255) comment '这是新增列';
  38. alter table tb_user add column new_column varchar(255) comment '这是新增列';
  39. alter table tb_user add column new_column varchar(255not null comment '这是新增的非空列';
  40. alter table tb_user add column new_column int(11not null default 0 comment '这是新增非空默认为0的列';
  41. -- 删除列
  42. alter table tb_user drop column newColumn;
  43. alter table tb_user drop newColumn;
  44. -- 修改列
  45. alter table tb_user change column new_column newColumn varchar(256not null ;
  46. alter table tb_user change column new_column newColumn int(11not null default 0 comment '修改列名';

3.select语句

1.普通查询

  1. -- 查询整张表的所有列
  2. select * from tb_user;
  3. -- 查询指定列
  4. select id, name from tb_user;

2.distinct

  1. -- 使用 distinict语句 (获得不同的值)(查询结果的所有列与别的记录)
  2. select distinct name,age from tb_user;
  3. select distinct name from tb_user;

3.where

  1. -- where 子句  筛选
  2. select * from tb_user where id = 1;

4.order by

  1. -- 按id降序
  2. select * from tb_user order by id desc;
  3. -- 按id升序
  4. select * from tb_user order by id asc;
  5. -- 多条件排序
  6. select * from tb_user order by name,age asc;

5.and , or

  1. -- and 子句
  2. select * from tb_user where name = 'yanghao' and age = 21;
  3. -- or 子句
  4. select * from tb_user where name = 'yanghao1' or age = 21;

6.like

  1. -- like 子句 模糊查询
  2. select * from tb_user where name like '%hao';
  3. select * from tb_user where name like 'yang%';
  4. select * from tb_user where name like '%yang%';
  5. -- % - 百分号表示零个,一个或多个字符
  6. -- _ - 下划线表示单个字符
  7. select * from tb_user where name like 'yanghao_';

7.between and

  1. -- BETWEEN运算符是包含性的:包括开始和结束值。
  2. -- between and
  3. select * from tb_user where id between 1 and 2;
  4. select * from tb_user where id not between 1 and 2;

8.null

  1. -- is null ,is not null 
  2. select * from tb_user where matching is null;
  3. select * from tb_user where matching is not null;

9.limit

  1. -- limit 
  2. select * from tb_user limit 2;
  3. -- 去下标为1的开始,2条。注意与between and 进行区分
  4. select * from tb_user limit 1,2;

10.in

  1. --  IN 运算符
  2. select * from tb_user where id in (1,2,3);
  3. select * from tb_user where name in ('yanghao''lisi');
  4. -- 利用子查询的结果作为in的元素
  5. SELECT
  6.     * 
  7. FROM
  8.     tb_user 
  9. WHERE
  10.     NAME IN ( SELECT NAME FROM tb_user WHERE id IN ( 23 ) );
  11. select * from tb_user;

11.case

  1. -- switch(case) 语句 
  2. SELECT
  3.     id,
  4.     NAME,
  5.     age,
  6.     (CASE matching WHEN 0 THEN '零' WHEN 1 THEN '壹' WHEN 2 THEN '贰' end)  AS number
  7. FROM
  8.     tb_user;

12.if

  1. select if(true,'yes','no'as status;
  2. -- if 函数
  3. select id,name,age,matching , if(sex = 'w','女','男'as '姓别' from tb_user;

12.group by

  1. -- group by
  2. select sex, count(sex) count from tb_user group by sex;
  3. select name, count(*) count from tb_user group by name;
  4. select name,age,count(*) count from tb_user group by name,age;

13.union

  1. -- 并集,将多个结果连接起来
  2. select * from tb_user where name like '%hao%'
  3. union
  4. select * from tb_user where age = 18;

4.insert语句

  1. -- insert插入语句
  2. -- (两种,一种是插入全部字段,则可以简化为如下)
  3. insert into tb_user values(6,'zhangsan',18,1,1);
  4. insert into tb_user (name,age,matching, newColumn) values'zhangsan',20,1,1);

5.update语句

  1. -- update 更新语句
  2. update  tb_user set name = 'lisi' where id = 4;

6.delete语句

  1. -- delete 删除语句
  2. delete from tb_user where id = 5;

7.函数

  1. -- 个数
  2. select count(*as totalCount from tb_user;
  3. -- 总和
  4. select sum(age) as totalAge from tb_user;
  5. -- 平均值
  6. select avg(age) as avgAge from tb_user;
  7. -- 最大
  8. select max(age) as maxAge from tb_user;
  9. -- 最小
  10. select min(age) as minAge from tb_user;

8.事务

  1. create table runoob_transaction_test ( id int(5)) engine = innodb; # 创建数据库
  2. select * from runoob_transaction_test;
  3. begin;
  4. insert into runoob_transaction_test (id) values (5);
  5. insert into runoob_transaction_test (id) values (6);
  6. commit;
  7. select * from runoob_transaction_test;
  8. begin;
  9. insert into runoob_transaction_test (id) values (7);
  10. rollback;
  11. select * from runoob_transaction_test;
  12. commit;

 创建索引

  1. 普通索引 添加INDEX
  2. CREATE INDEX ind_shop_id_flag ON bs_amore_brand_tm_refund_56(flag,shop_id);
  3. 唯一索引 添加UNIQUE
  4. CREATE UNIQUE INDEX indexName ON mytable(username(length))

线程

  1. show PROCESSLIST;
  2. select * from information_schema.innodb_trx;

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/397758
推荐阅读
相关标签
  

闽ICP备14008679号