当前位置: 首页 > news >正文

数据库增删查改sql语句

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

新建数据库:

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

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

全列查询:

select * from student;

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

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

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.dtcms.com/a/33134.html

相关文章:

  • at32f103a+rtt+AT组件+esp01s 模块使用
  • Neo4j使用neo4j-admin导入csv数据方法
  • [特殊字符] Elasticsearch 双剑合璧:HTTP API 与 Java API 实战整合指南
  • 第七章 情绪力——情绪是多角度看问题的智慧
  • 数据库课设---酒店管理系统(MySQL、VBNet)
  • Windows平台使用cmake 链接动态库
  • 探索分析并发控制的关键作用 — 确保系统稳定与高效的技术导论
  • 前端VUE3框架的快速搭建
  • 【僵尸进程】
  • CSS通过webkit-scrollbar设置滚动条样式
  • 动态内存分配和释放时需要注意哪些问题
  • 链表和STL —— list 【复习笔记】
  • C#中级教程(2)——走进 C# 面向对象编程:从基础到进阶的深度探索
  • KEPServerEX 如何配置Dcom说明文档
  • 【深度学习量化交易15】基于miniQMT的量化交易回测系统已基本构建完成!AI炒股的框架初步实现
  • 如何手动设置u-boot的以太网的IP地址、子网掩码、网关信息、TFTP的服务器地址,并进行测试
  • 3分钟idea接入deepseek
  • 归并排序 Listnode* vector<int> vector<ListNode*>
  • CentOS-7-x86_64-Minimal-2009 免费下载与使用教程
  • 第二篇:MySQL安装与配置(基于小皮面板(phpstudy))
  • 易飞报错:输入的库位并不存在,请重新输入
  • 基于大数据技术智能教学系统的设计与实现
  • QString是 Qt 框架中的一个核心类,基本用法使用:创建、字符串拼接、截取、查找、替换、分割、大小写转换、比较。
  • 基于ffmpeg+openGL ES实现的视频编辑工具-添加背景音乐(十一)
  • 高速差分信号的布线
  • 【单片机毕业设计14-基于stm32c8t6的智能宠物养护舱系统设计】
  • 380v三相电的相序检测,缺相检测,相序保护
  • javaw.exe是什么进程?
  • H5 火柴人科目三和GitHub获取仓库点星星的用户列表发生了艺术的碰撞
  • Spring注解方式替代原始的applicationContext的Bean配置