SQL语句-01-数据库操作/单表增删改查
一.对数据库的操作
1.1 创建及删除数据库
create database 库名
create database 库名 character set 编码
SQL语句 | 功能 |
---|---|
create database 库名; | 创建一个数据库 |
create database 库名 character set 编码; | 创建一个数据库并设置数据库的编码 |
show create database 库名; | 查看数据库编码 |
drop database 库名; | 删除数据库 |
1.2 选择数据库
SQL语句 | 功能 |
---|---|
use 库名; | 锁定想要操作的数据库 |
select database(); | 查看当前选择的数据库 |
二.对数据库表的操作
2.1 创建表
SQL语句 | 功能 |
---|---|
create table 表名(字段名 类型(长度) [约束], 字段名 类型(长度) [约束], ……); | 创建表 |
drop table 表名; | 删除表 |
2.2 查看表
SQL语句 | 功能 |
---|---|
show tables; | 列出数据库中所有表的表名 |
desc 表名; | 可以查看表的结构 |
2.3 表的修改
SQL语句 | 功能 |
---|---|
alter table 表名 add 字段名 类型(长度) [约束]; | 添加一列 |
alter table 表名 modify 要修改的字段名 类型(长度) [约束]; | 修改列的类型(长度,约束) |
alter table 表名 change 旧字段名 新字段名 类型(长度) [约束]; | 修改列的列名(列名即字段名) |
alter table 表名 drop 字段名; | 删除一列 |
rename table 表名 to 新表名; | 修改表名 |
alter table 表名 character set 编码; | 修改表的字符集 |
show create table 表名; | 查看当前表的编码 |
三.表中数据的增删改查
设置数据库的编码,解决乱码问题
set names gbk;
3.1 插入记录
insert into 表名(字段名1,字段名2,字段名3……) values(值1,值2,值3……)
insert into 表名 values(值1,值2,值3……)//也可以省略字段名
3.2 修改记录
update 表名 set 字段名=值, 字段名=值, 字段名=值……
3.3 删除记录
delete from 表名;
关键字delete和truncate都可用于删除表中数据,单是删除方式不同
关键字 | 特点 |
---|---|
delete | 删除是一条一条的删除记录,它配合事务,可以将删除的数据找回。uid不会重置 |
truncate | 删除是将整个表摧毁,然后再创建一张一模一样的表。它删除的数据无法找回。uid会重置 |
四.查询操作
准备一些数据,shop数据库orderitem表
sql文件
4.1 简单查询
SQL模板 | 功能 |
---|---|
select * from 表名; | 查询表中所有数据 |
select 字段名,字段名,… from 表名; | 查询表中几列数据 |
select * from 表名 as 别名; | 使用别名 |
select distinct(字段名) from 表名; | 查询一列数据并去掉重复值显示 |
select 字段名+100 from 表名; | 查询表中的列,并将此列的数据进行数学计算(+10)后显示 |
4.2 条件查询
SQL语句示例 | 功能 |
---|---|
select * from 表名 where 字段名=’关键字’; | 关键字匹配查询 |
select * from 表名 where 字段名 like ‘%关键字%’; | 含有关键字的条件查询 |
select * from 表名 where id in<1,2,3>; | 查询id值为1,2,3的数据 |
select * from 表名 where id>10; | 查询id值大于10数据 |
select * from 表名 where id>10 or id=8; | 查询id值大于10数据或等于8的数据 |
4.3 查询后排序显示
SQL模板 | 功能 |
---|---|
select * from 表名 order by id asc; | 查询表中数据,并按id升序排列显示 |
select * from 表名 order by id desc; | 查询表中数据,并按id降序排列显示 |
4.4 使用聚合函数
SQL语句示例 | 功能 |
---|---|
select sum(subtotal) from orderitem; | 获得orderitem表中subtotal列的数据的和 |
select avg(subtotal) from orderitem; | 获得orderitem表中subtotal列的数据的平均值 |
select count(*) from orderitem; | 获得orderitem表中数据的总列数 |
4.4 分组查询
SQL模板 | 功能 | SQL语句示例 | 功能 |
---|---|---|---|
select 字段1,sum(字段2) from 表名 group by 字段1; | 查询表中字段1的列的值并根据字段1的列的值分组,值相同的分为一组,并为每组求字段2的列的值的和 | select count,sum(subtotal) from orderitem group by count; | 查询orderitem表中count列的值并根据count列的值分组,值相同的分为一组,并为每组求subtotal列的值的和 |
select 字段1,sum(字段2) from 表名 group by 字段1 having sum(字段2)>15000; | 查询表中字段1的列的值并根据字段1的列的值分组,值相同的分为一组,并为每组求字段2的列的值的和,将和大于15000的数据显示 | select count,sum(subtotal) from orderitem group by count having sum(subtotal)>15000; | 查询orderitem表中count列的值并根据count列的值分组,值相同的分为一组,并为每组求subtotal列的值的和,将和大于15000的数据显示 |
上述两条SQL语句的查询结果显示:
第一条:
第二条:
关键字 | 特点 |
---|---|
select | 后面的内容一般是要查询的字段(即列名),或聚合函数 |
having | 分组后带有条件只能使用having |
order by | 它必须放到最后面 |
SQL语句-01-数据库操作/单表增删改查相关推荐
- mysql如何修改学生表_MySQL 详细单表增删改查crud语句
MySQL 增删改查语句 1.创建练习表 这里练习表没有满足三范式 第一范式(又称 1NF):保证每列的原子性 数据表中的每一列(字段),必须是不可拆分的最小单元,也就是确保每一列的原子性.满足第一范 ...
- MySQL基础知识-MySQL概述安装,单表增删改查,函数,约束,多表查询,事物
MySQL基础知识-MySQL概述安装,单表增删改查,函数,约束,多表查询,事物 前言 1.MySQL概述 1.1数据库相关概念 1.2MySQL数据库 1.2.1版本 1.2.2下载 1.2.3安装 ...
- mybatis --入门 单表增删改查-curd
目录 1. mybatis 环境搭建 2. 实体类映射文件配置(写sql) 3. mybatis核心配置文件 (环境配置) 4. 测试 mybatis document https://mybatis ...
- django调用python脚本返回_Django框架(九)—— 单表增删改查,在Python脚本中调用Django环境...
单表增删改查,在Python脚本中调用Django环境 一.数据库连接配置 如果连接的是pycharm默认的Sqlite,不用改动,使用默认配置即可 如果连接mysql,需要在配置文件中的settin ...
- Django框架(八)--单表增删改查,在Python脚本中调用Django环境
一.数据库连接配置 如果连接的是pycharm默认的Sqlite,不用改动,使用默认配置即可 如果连接mysql,需要在配置文件中的setting中进行配置: 将DATABASES={} 更新为 DA ...
- SQL Server创建数据库和数据的增删改查
SQL Server创建数据库和数据的增删改查 本文是针对数据的增删改查,数据的创建 首先我们使用命令创建sql server数据库 D盘新建一个文件夹DB use master go --创建数据库 ...
- C# 功能完整的单表增删改查程序
id字段自增,标识增量和种子1: using System; using System.Collections.Generic; using System.ComponentModel; using ...
- 增删改查最终总结—2.1.1(单表-增删改查)
一个 Mybatis 开发神器:Fast MyBatis 超好用 --------Fast Mybatis开发文档 每一个增删改查前都要先看这个--增删改查操作 都需要注意: 1.在控制层最后一行代码 ...
- springboot整合mybatis实现简单的单表增删改查(完整代码可下载)
搭建项目 项目简单效果,前端效果丑的一批,主要是后端功能实现: springboot增删改查 csdn完整代码下载链接: springboot+mybatis Gitee下载地址: Gitee下载地址 ...
- Python编程 模拟SQL语句 实现对员工信息的增删改查
一.问题描述 用 Python 模拟 sql 语句,实现对员工信息的增删改查. 封装函数,传入参数:文件路径和 sql 命令. 模拟 sql 语句实现对员工信息的现增删改查,并打印结果. 二.Pyth ...
最新文章
- golang微服务框架对比_微服务里程碑,Golang与Spring Cloud Alibaba完美结合
- 科普 | 12个关键词,告诉你到底什么是机器学习
- Go基础--goroutine和channel
- 恒驰机器人_机器人如何造恒驰?探秘最牛汽车生产基地
- Main函数中的argc和argv应用举例
- Demo:充分利用 Ajax 技术 来体现页面局部刷新 效果(获取天气预报情况)
- 可以买的一本书:3D计算机图形学(原书第3版)
- 【转】微信开发出现“该公众号暂时无法提供服务,请稍后再试”的坑
- 洛谷P1122最大子树和题解
- 科学计算机统计模式中中间数据输错怎么办,科学计算器在统计功能中如何清除以前不需要的数据?...
- 下载并安装WIN7 SP2的官方补丁包
- 第1期:手把手教你制作网易邮箱注册页面
- 360全景图PS更换天空背景
- 优动漫PAINT提高创作效率的小技巧——中间色与近似色
- macOS 10.10 u盘安装win7
- 报表分析软件有哪些呢?不急不急,给你推荐几款好用的
- python猜数字小游戏制作
- spring security 3配置ACL时报java.lang.NoSuchMethodError: net.sf.ehcache.Cache.init
- 数据结构与算法_02_局部最优的贪心算法
- matlab 脉冲密度调制,脉冲压缩技术研究指导.doc
热门文章
- python 装饰器原理_python3 property装饰器实现原理与用法示例
- 主进程退出后子进程还会存在吗?_进程和线程面试常见的19个问题
- python全栈之巅_Linux Crontab 定时任务
- java数组及循环专题练习(使用数组和循环结构实现一个简易的功能完善的订餐系统)
- 科研_今天,我们怎么做科研?
- python-numpy.array中,any()和all()方法介绍
- CVPR2018_主干网络系列(3)_SE-Net及其衍生的网络[SE-XX-Net]
- Ubuntu安装Tensorflow及anaconda环境下使用TensorFlow
- Web前端开发规范 之html命名规范
- Python3.X出现AttributeError: module 'urllib' has no attribute 'urlopen'错误