创建表

create table 表名(字段 类型 约束,字段 类型…);

create 创建一个表名是wj_39的表
wj_39这个表里边有name和age两个字段
name的字段是占10个字节的字符串类型
age字段是不能为负数的整数类型
unsigned是一个约束,不能为负的约束

里边的括号 逗号 分号等符号都必须是英文的符号。
注释快捷键“ctrl+?”,注释是解释这段代码的内容

删除表

把表名为wj_39的表删掉
DROP TABLE wj_39;
如果这个表存在就删掉,如果不存在就不删
DROP TABLE if EXISTS wj_39;

创建数据库

CREATE database 数据库名称;

删除数据库

drop database 数据库名称;

查看数据库

show database;

使用数据库

use 数据库名;

查看数据库中有多少张表

show table;

查询语句

查询wi_39这个表里边的所有内容
select * from wj_39;

换成students表(创建表和添加数据没写这里)

查询指定字段

查询students表中的age和name字段
select students.age student.name from students;
给students起一个别名s,as可以省略
select s.age,s.name from students as s;
如果只有一个表可以把表名s省略,如果是多表需要加表名
select name,age from students;

给字段起别名(字段的别名可以为中文,给studentNo起名为学号,name起名为名字)
select studentNo as 学号,name as 名字 from students;

去掉重复的性别,只显示唯一的
select distinct sex from students;

where后面支持多种运算符,进行条件的处理
1、比较运算 =, >, >=, <=, !=, <>
2、逻辑运算 and, or, not
3、模糊查询 like _ ,like %
4、范围查询 in,between …and…
5、空判断 is null

比较运算符

等于: =
大于: >
大于等于: >=
小于: <
小于等于: <=
不等于: != 或 <>

查询id为1的数据;
select * from students where id = 1;
查询王昭君的年龄
select age from students where name=‘王昭君’;
查询年龄大于20岁的数据
select * from students where age > 20;
查询家乡不在北京的数据
select * from students where hometown != ‘北京’;
select * from students where hometown <> ‘北京’;

逻辑运算符
and
or
not

查询大于20岁的男同学
select * from students where age>20 and sex =‘男’;
查询家乡不是北京的
select * from students where not hometown = ‘北京’;
查询1班或2班的同学
select * from students where class = ‘2班’ or class=‘1班’;

模糊查询

like
%表示任意多个任意字符
_表示一个任意字符

查询姓百里的学生(加一个下划线代表一个字符,两个下划线代表两个字符)
select * from students where name like ‘百里_’;
select * from students where name like ‘百里%’;

范围查询

in表示在一个非连续的范围内
between … and …表示在一个连续的范围内

查询家乡是北京和上海的
select * from students where hometown in(‘北京’,‘上海’);
查询年龄在25-30之间的
select * from students where age between 25 and 30;

空判断

null与’‘是不同的,null会显示在数据库中,’'是空的字符串
判空is null
判非空is not null

select * from students where card is null;
select * from students where card = ‘’;

排序
默认是从小到大排序
asc 升序
desc 降序

查询所有年龄信息,按照年龄从高到低排序
select * from students order by age desc;
查询所有学生信息,按年龄从大到小排序,年龄相同时按学号从小到大排序
select * from students order by age desc ,studentNo;

聚合函数

count(*)表示计算总行数,括号中写星与列名,结果是相同的
聚合函数不能在 where 中使用
max(列)表示求此列的最大值
min(列)表示求此列的最小值
sum(列)表示求此列的和
avg(列)表示求此列的平均值

查询学员的总数
select count() from students;
查询男生的人数
select count(
) from students where sex =‘男’;
查询年龄最大的
select max(age) from students;
查询年龄最小的
select min(age) from students;
查询所有学员年龄的平均数
select avg(age) from students;
查询所有学员年龄的总和
select sum(age) from students;

分组
group by

查询学员中男生女生各多少人
select sex,count(*) from students group by sex;

添加语句

添加一行记录
insert into 表名 values(值1,值2…);
insert into wj_39 values(1,‘lebo’);

添加多行记录
insert into wj_39 values(2,‘lebo2’);
insert into wj_39 values(3,‘lebo3’);
insert into wj_39 values(4,‘lebo4’);
insert into wj_39 values(5,‘lebo5’);
或者
insert into wj_39 values(6,‘lebo6’),(7,‘lebo7’),(8,‘lebo8’),(9,‘lebo9’);

修改语句

把id为6的记录中的名字改成lebo666;
update wj_39 set name = ‘lebo666’ where id = 6;

删除语句
从wj_39这个表里把id为6的记录删除;
delete from wj_39 where id = 6;

逻辑删除(常用)
增加一个int类型的字段isdelete并设置它的默认值是0;
alter table wi_39 add isdelete int default 0;
假如把第二条数据注销,就是把第二条数据的isdelete字段设置为1(更改isdelete字段的数据);
update wj_39 set isdelete = 1 where id = 2;
查询isdelete字段为0的数据时就不会显示第二条数据了;

MySQL之增删改查(以查为主)相关推荐

  1. sqlalchemy 对 mysql 进行增删改查

    我其实还是喜欢原生的 sql 语句,sqlalchemy是对pymysql的封装,用的时候经常出各种错误.但是orm操作较简单,可以实现外键的关联操作. 视频 https://www.bilibili ...

  2. python操作mysql的增删改查_详解使用pymysql在python中对mysql的增删改查操作(综合)...

    这一次将使用pymysql来进行一次对MySQL的增删改查的全部操作,相当于对前五次的总结: 先查阅数据库: 现在编写源码进行增删改查操作,源码为: #!/usr/bin/python #coding ...

  3. 怎么用php操作mysql删除数据库代码_如何使用php操作mysql的增删改查?

    php操作mysql的增删改查方法:1.插入语句[insert into 数据表名(字段1,字段2,....) values("值1","值2",..)]:2. ...

  4. Mysql (一)Mysql 数据库增删改查

    mysql数据库增删改查增:create database DBname charset gbk; 删:drop database DBname; 改:alter database DBname ch ...

  5. Go操作mysql实现增删改查及连接池

    [-] 下载驱动 创建测试表 数据库连接 插入操作 查询操作 修改操作 删除操作 完整代码 小结 开启web服务 db对象初始化 请求方法 小结 golang本身没有提供连接mysql的驱动,但是定义 ...

  6. Java连接Mysql数据库增删改查实现

    Java连接Mysql数据库增删改查实现 时间比较赶,我这里只实现查询,有时间再添加另外两个 难度 : ⭐⭐⭐(全星5颗星的情况下) 新建一个动态的网站工程, 把jar包全部复制进去,主要要那个mys ...

  7. php对mysql进行增删改查,php对mysql进行增删改查

    php对mysql进行增删改查 /* 用户名 : MYSQL_USER 密 码 : MYSQL_PASS 域 名 : MYSQL_HOST 端 口 : MYSQL_PORT 数据库名 : MYSQL_ ...

  8. Node.js笔记-node.js连接MySQL与增删改查

    最近在看一个开源项目,项目用的是node.js,在此学习下他的连接mysql与增删改查. 安卓mysql包: npm install mysql 程序运行截图如下: D:\node\content\n ...

  9. mysql增错误_使用MySQL练习增删改查时因为版本问题出现连接错误

    使用MySQL练习增删改查时出现连接错误,错误提示如下: 2020-02-19 19:53:51.088 ERROR 16328 --- [reate-249798694] com.alibaba.d ...

  10. mfc连接mysql增删改查_java实现mysql数据库增删改查

    1.连接数据库: import java.sql.Connection; import java.sql.DriverManager; public class DBConnection { stat ...

最新文章

  1. 微软获 OpenAI 独家 GPT-3 模型授权,是潘多拉还是聚宝盆?
  2. 有没有大神知道国产加密算法SM2的详细介绍
  3. 3.Lasso线性模型
  4. 正则表达式python实例_常见的python正则用法实例讲解
  5. C# 连接Oracle数据库以及一些简单的操作
  6. 谈自动化测试与CI中一些常见的谬见
  7. java restcontroller_Spring框架:@RestController与@Controller
  8. 2017江苏事业单位计算机类,2017年上半年江苏事业单位计算机岗真题
  9. 8086汇编学习小记-1
  10. 全网最详细的HBase启动以后,HMaster进程启动了,几秒钟以后自动关闭问题的解决办法(图文详解)
  11. UltimateAndroid快速开发框架教程
  12. [原创]经典软件测试技术分类
  13. Cisco ASA 5505 (Version 9.X)的 LAN上网和NAT的配置
  14. 数据中心网络设计方案,数据中心网络规划设计
  15. 案例推荐《微博:随时随地迎战大流量》
  16. matlab 图片生成mif文件,使用MATLAB一鍵制作mif文件
  17. Windows组策略
  18. 应用统计学之——average和mea…
  19. 正版NOD32升级ID在线申请
  20. 【C++学习笔记】基本内置类型和变量

热门文章

  1. html 样式初始化,css样式初始化
  2. Oracle ERP流程概览
  3. 漫画丨那些年,我们一起被毁过的“三观”…
  4. 搭建网站-Disczu
  5. NSX控制平面和静态路由更新流程2
  6. OpenStack的八年之痒
  7. Java基础学习总结(135)——Java代码性能优化实践经验再总结
  8. Java基础学习总结(99)——Java代码性能优化总结
  9. 炒了8年的概念,到底该如何理解DevOps这个词?
  10. mysql插入二进制命令_MySQL将语句写入到binlog二进制日志中