单表内容的增删改查

操作表内容***

注册一个表

create table d1(id int ,name varchar(12));
insert into d1(id,name) values
(1,'小珊珊'),
(2,'小白白'),
(3,'小嘿嘿');

增删改

增加
普通版
insert into 表名 values (内容1,内容2),(内容1,内容2);
实列
insert into user values(2,'wusir'),(3,'太亮');
推荐版
insert into 表名 (字段1,字段2) values
(内容1,内容2);
实列
insert into staff_info (id,name,age,sex,phone,job) values (1,'Alex',83,'female',13651054608,'IT');

删除
delete from d1;  # 清空表 不用  删除所有的数据,但是不会重置自增字段的数据号
delete from 表名 where 条件;
truncate 表名;  自增字段会重置
举例
delete from d1 where id = 3;

修改 #注意语法,可以同时来修改多个值,用逗号分隔
update 表名 set 修改内容;  # 不用 修改所有
update 表名 set 修改内容 where 查找条件;
举 例
update d1 set name = 'alex',id = 2 where id = 1;

自定义显示格式 concat用法
相当拼接
select concat('姓名: ',name,'  年薪: ', salary*12)  AS Annual_salary from employee;

查看表中内容

显示模式

四则运算:
    SELECT salary*12 FROM employee;

自定义显示格式 concat用法
    SELECT CONCAT('姓名: ',name,'  年薪: ', salary*12)  AS Annual_salary FROM employee;

查表顺序

查看
select * from 表名;
举例
select * from d1;
# 查询全部表内容
# select * from d1;
# 进阶版查询
# 1.找到表:
# 实列
#select * from d1;
# 2.拿着 where 指定的约束条件,去文件/表中取出一条条记录
# 实列
#     select * from d1 where hoppy='玩';
# 3.将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组
# # 实列 找到爱好是玩的 将年龄分组
#     select * from d1 where hoppy='玩' group by age ;
# 5.将分组的结果进行having过滤
# 实列 找到爱好是玩的 将年龄分组 且id>3
#     select * from d1 where hoppy='玩' group by age having count(id)>3;
# 6将结果排序asc(升序从小到大)desc(降序 从大到小)
# 实列
#     select * from d1 where hoppy='玩' group by age having count(id)>3 order by price;
# 7限制结果的显示条数
# 实列 去前6个
#     select * from d1 where hoppy='玩' group by age having count(id)>3 order by price limit 6;

# having 对组过滤 必须先分组 在组的后面
# 就是一个对组进行筛选的条件
# 要部门人数大于3个人的部门 count(id)>3
# select post from employee group by post having count(id)>3;
#
# order by 排序
#     order by 字段 (默认升序)
#     order by 字段 asc(升序从小到大)
#     order by 字段 desc(降序  从大到小)
#
#     order by 字段1,字段2
#     order by 字段 asc,字段2 desc
#     order by 字段 desc,字段2 asc
#     order by 字段 desc,字段2 desc

# limit 取一个区间
# 1.显示分页
# limit m,n(耗内存)
#       表示从m+1开始,取n条
#       limit 0,6 表示从1开始取6条
#       limit 6,6 表示从7开始取6条
#       limit 12,6 表示从13开始取6条
#       limit 18,6 表示从19开始取6条
# 2.取前n名
#     limit n   m默认为0
#     跟order by一起用
# limit n offset m :从m+1开始,取n条

where 初级筛选

# where:
        # 范围
            # > < = <= >= !=/<>
            # between and 举例 between 80 and 100
            # in (a,b,c) not in
        # 模糊查询
                    #  like
                        # %任意长度任意内容   _一个长度任意内容
                    # regexp  正则
                        # 放正则
                # 身份运算符 -->null
                    # is , is not
                # 逻辑运算符
                    # and or not

group by分组 与聚合

# 分组 group by 与聚合函数
# select * from 表 group by 字段名
#     分组 group by(生成一个新表)
#     根据某个重复率比较高的字段进行的
#     这个字段有多少种可能就分成多少个组
#         根据性别分组 : 男的一组 女的一组
#         根据部门分组 : 销售一组 教学一组 ...
#     去重
#     一旦分组了就不能对具体某一条数据进行操作了
#         永远都是考虑 这组 xxx
#     group_concat : 只用来做最终的显示,不能结果操作其他数据(属于这个组的所有人)
# 与聚合 联系 聚合函数
#     99.99%的情况都是和分组一起用的
#     如果没有和分组一起用,默认一整张表是一组
#     count(id)  / count(*) 计数 :每个组对应几条数据
#     max 求最大值: 这个组中某字段的最大值
#     min 求最大值: 这个组中某字段的最小值
#     avg 求平均值
#     sum 求和值

having对组过滤

# having 对组过滤 必须先分组 在组的后面
# 就是一个对组进行筛选的条件
# 要部门人数大于3个人的部门 count(id)>3
# select post from employee group by post having count(id)>3;

distinct 去重

示例:
     select distinct post from employee;
注意问题:select的字段必须写在distinct的后面,并且如果写了多个字段,比如:
    select distinct post,id from employee;这句话,意思就是post和id两个组合在一起同时重复的才算是重复数据

order by 排序

#     order by 字段 (默认升序)
#     order by 字段 asc(升序从小到大)
#     order by 字段 desc(降序  从大到小)
#
#     order by 字段1,字段2
#     order by 字段 asc,字段2 desc
#     order by 字段 desc,字段2 asc
#     order by 字段 desc,字段2 desc

limit 取一个区间

# limit 取一个区间
# 1.显示分页
# limit m,n(耗内存)
#       表示从m+1开始,取n条
#       limit 0,6 表示从1开始取6条
#       limit 6,6 表示从7开始取6条
#       limit 12,6 表示从13开始取6条
#       limit 18,6 表示从19开始取6条
# 2.取前n名
#     limit n   m默认为0
#     跟order by一起用
# limit n offset m :从m+1开始,取n条

查询步骤

select distinct 字段1 as a,字段2... from 库名.表名 (如果没有use连接到某个库,需要写上库名)
    where 条件
    group by 分组依据字段
    having 分组后再过滤
    order by 排序  order by 字段 asc,字段 desc;
    limit  limit 3   limit 5,5 从索引为5的记录(第六条)开始算上这一条取5条

原文地址:https://www.cnblogs.com/saoqiang/p/12388389.html

时间: 2024-08-29 16:02:35

单表内容的增删改查的相关文章

数据库初识 用户创建授权 库与表内容的增删改查

初识数据库 为什要用数据库 第一,将文件和程序存在一台机器上是很不合理的. 第二,操作文件是一件很麻烦的事 数据库的优势 1.程序稳定性 :这样任意一台服务所在的机器崩溃了都不会影响数据和另外的服务. 2.数据一致性 :所有的数据都存储在一起,所有的程序操作的数据都是统一的,就不会出现数据不一致的现象 解决了多个服务同时使用数据的一致性间题 3.并发 :数据库可以良好的支持并发,所有的程序操作数据库都是通过网络,而数据库本身支持并发的网络操作,不需要我们自己写socket 解决了并发问题 4.效

Django学习【第6篇】:Django之ORM单表操作(增删改查)

django之数据库表的单表查询 一.添加表记录 对于单表有两种方式 # 添加数据的两种方式 # 方式一:实例化对象就是一条表记录 Frank_obj = models.Student(name ="海东",course="python",birth="2000-9-9",fenshu=80) Frank_obj.save() # 方式二: models.Student.objects.create(name ="海燕",co

多表内容的增删改查

笛卡尔积 将两表所有的数据一一对应,生成一张大表 不建议 select * from dep,emp; #两个表拼一起 select * from dep,emp where dep.id = emp.dep_id; #找到两表之间对应的关系记录 select * from dep,emp where dep.id = emp.dep_id and dep.name='技术'; #筛选部门名称为技术的大表中的记录 select emp.name from dep,emp where dep.id

Mysql—表内容的增删改查02

1.查询性别为null的数据 select * from student where sex is null 2.查询性别不为null的数据 seleect * from student where is not null 3.查询性别为空字符串的数据 select * from student where sex=' ' 4.查询性别不为空的数据 select * from student where sex<>' ' 5.查询性别不为空且不为null的数据 select * from st

基于表关系的增删改查

创建四表,author,book,publish,author-detail 存在多对多,一对一,多对一的关系 在models里创建 class Pulish(models.Model): id=models.AutoField(primary_key=True) name=models.CharField(max_length=32) address=models.CharField(max_length=32) class Book(models.Model): id=models.Auto

简单的表内容的增删改操作

表内容的增加操作: insert into student values ('1','小明') 表内容的修改操作: update student set sname = 'djdjdj' where sno = '1' 表内容的删除操作: delete from student where sno = '1' 原文地址:https://www.cnblogs.com/Stakes-ds/p/8454459.html

Mysql1:数据库表操作,增删改查举例

数据库表的相关操作 添加数据库表 语法:  实例: 查看数据库表 语法: show tables; 实例: 查看数据库表结构 1)使用DESCRIBE/DESC  语法: 实例:  2)SHOW CREATE TABLE 语法:  实例: 使用此方法查看数据库表结构时,不仅可以查看表创建时候的详细语句,而且还可以查看存储引擎和字符编码.  修改表名 语法: to为可选参数,使用与否均不影响 实例: 将user_info表改为user_data 修改字段的数据类型 语法:  实例: 将id 的数据

文件内容的增删改查

global log 127.0.0.1 local2 daemon maxconn 256 log 127.0.0.1 local2 info defaults log global mode http timeout connect 5000ms timeout client 50000ms timeout server 50000ms option dontlognull listen stats :8888 stats enable stats uri /admin stats auth

hibernate_06_单表操作_增删改操作

首先,创建类对象 1 package com.imooc.hibernate; 2 3 public class Address { 4 5 private String postcode; //邮编 6 private String phone; //电话 7 private String address; //地址 8 9 public Address() {}; 10 11 public String getPostcode() { 12 return postcode; 13 } 14