数据库增删查改sql语句

news/2025/2/24 15:22:52

一、数据库、表的建立/删除

新建数据库

create database 数据库名;
#create database students;  #新建一个students的数据库

新建表:

在建表之前,需要指定在哪个数据库下建表,使用use 数据库名;

接下来就可以建表了:

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
说明:
field 表示列名
datatype 表示列的类型
character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

create table student
( 
  id int auto_increment primary key, 
  sno varchar(20) not null, 
  name varchar(20)
);

表的删除-drop

sql">drop table 表名;  #这是对整个表结构的删除,不是对数据的删除

二、数据插入-insert

插入语句:

insert into 表名(列1,列2,...) values(内容1,内容2,...);

将values内的内容插入到对应的列里面。

若未指定列,则默认插入一整行内容。

指定全部列:

insert into student(id, sno, name) values(1,2021001,'张三');

不指定列:

mysql> insert into student values(2,2021002,'李四');

指定部分列,会向指定的那列插入数据:

insert into student(id,sno) values(3,2021003);  //id插入3,sno插入2021003,其余列默认NULL

插入多行数据,不同行数据用分开:

insert into student(sno, name) values(2021004, 'zhangsan'), (2021005, 'lisi');

三、数据修改-update

修改语句:
update 表名 set 列名1 = 值 WHERE 列名2 = 值;

修改表中满足where条件的那一行,将列名1进行修改,如果需要修改多列数据,每一列数据用分割开。

注:若为加where条件筛选,则是将该列的数据全部进行修改。

示例:

将张三的学号sno修改为2021007:

update student set sno = '2021007' where name = '张三';

四、数据删除-delete

delete from 表名 where 条件;

删除满足条件的对应那一行的数据。

注:如果没有where条件,则是删除所有行的数据***

示例:

删除姓名”张三“的那一行数据:

delete from student where name = '张三';

五、数据查找-select

SELECT [DISTINCT] {* | {column [, column] ...}
[FROM table_name]
[WHERE ...]
[ORDER BY column [ASC | DESC], ...]
LIMIT ...

执行顺序:from-->where->group by->select->having

全列查询:

sql">select * from student;

通常情况下不建议使用 * 进行全列查询 1. 查询的列越多,意味着需要传输的数据量越大; 2. 可能会影响到索引的使用。

指定列查询:指定列的顺序不需要按定义表的顺序来 

sql">select id, name from student;

image.png

六、表结构修改-alter

为表添加字段

ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...);
修改表字段属性

ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...);
删除某一字段

ALTER TABLE tablename DROP (column) ;

添加字段

为student表添加math字段,设置默认值为0

alter table student add (math int default 0);

修改字段属性

修改student表中chinese字段的属性为int:

alter table student modify chinese int;

删除字段

删除student表中English字段:

alter table student drop English;

修改表名

修改student表表名为users:

alter table student rename users;

修改字段

修改student表中math字段修改为highMath int:

alter table student change math highMath int;  //  新字段需要完整定义属性

简单总结一句,只有对表进行操作的时候才会加上table关键字+表名;对数据进行操作时,直接加的是表名。


http://www.niftyadmin.cn/n/5864519.html

相关文章

电子技能大赛选题

关于电子技能大赛的选题,我们需要综合多方面因素去考虑,比如难度,炫酷程度,能接受的成本,进度能不能掌控,有哪些难点需要攻破,能从外部获得什么资源等等。比如小车,会有一些结构件的…

前后端分离系统架构:基于Spring Boot的最佳实践

前后端分离系统架构图描绘了一个基于Springboot的前端后台分离的系统架构。它强调了前端(客户端)与远程(服务器)的解耦,通过API接口进行交互,分别独立开发和部署。 前后端分离系统架构图 从上到下&#xff…

如果二者隔离级别不一致,以哪个为主。例如@Transactional 隔离级别是RC,mysql是RR

如果 Spring 的 Transactional 隔离级别 和 数据库的隔离级别 不一致,最终生效的隔离级别取决于以下两种情况: 1. Spring 隔离级别优先级更高 Spring 的行为: 当你在 Transactional 注解中显式配置了隔离级别(例如 isolation Iso…

微信小程序 - 页面跳转(wx.navigateTo、wx.redirectTo、wx.switchTab、wx.reLaunch)

API 跳转 1、wx.navigateTo (1)基本介绍 功能:保留当前页面,跳转到应用内的某个页面,使用该方法跳转后可以通过返回按钮返回到原页面 使用场景:适用于需要保留当前页面状态,后续还需返回的情…

无人机+DeepSeek:放飞自我的智能化技术详解!

无人机与DeepSeek的结合代表了智能化技术在低空经济领域的重要应用和发展方向。以下是对这一智能化技术的详细解析: 一、DeepSeek技术概述 DeepSeek是一种基于深度学习和数据挖掘技术的智能搜索与分析系统。它通过深度学习模型理解数据的上下文语义,实…

编程小白冲Kaggle每日打卡(13)--kaggle学堂:<机器学习简介>基础数据探索

Kaggle官方课程链接:Basic Data Exploration 本专栏旨在Kaggle官方课程的汉化,让大家更方便地看懂。 Basic Data Exploration 加载并理解您的数据。 使用Pandas熟悉您的数据 任何机器学习项目的第一步都是熟悉数据。您将使用Pandas库进行此操作。Pand…

IDEA使用Maven方式构建SpringBoot项目

1、环境准备 确保你已经安装了以下工具: Java JDK(推荐 JDK 8 或更高版本) IntelliJ IDEA(推荐使用最新版本) 2、创建 Spring Boot 项目 (1) 打开 IntelliJ IDEA。 (2&#xff09…

Git操作整体流程

文章目录 1.Git创建个人仓库2、Git全局配置3、Git本地管理4. Git本地管理常用命令汇总5、使用Git命令将项目提交到远程码云管理6.使用IDEA进行管理7、Idea里面的终端8、关于提交总结 1.Git创建个人仓库 打开https://gitee.com/,登录个人账号,右上角加号…