数据库增删查改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

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;

六、表结构修改-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关键字+表名;对数据进行操作时,直接加的是表名。

相关推荐
明月醉窗台5 分钟前
qt使用笔记二:main.cpp详解
数据库·笔记·qt
沉到海底去吧Go42 分钟前
【图片自动识别改名】识别图片中的文字并批量改名的工具,根据文字对图片批量改名,基于QT和腾讯OCR识别的实现方案
数据库·qt·ocr·图片识别自动改名·图片区域识别改名·pdf识别改名
老纪的技术唠嗑局1 小时前
重剑无锋,大巧不工 —— OceanBase 中的 Nest Loop Join 使用技巧分享
数据库·sql
未来之窗软件服务1 小时前
JAVASCRIPT 前端数据库-V6--仙盟数据库架构-—-—仙盟创梦IDE
数据库·数据库架构·仙盟创梦ide·东方仙盟·东方仙盟数据库
寒山李白1 小时前
MySQL复杂SQL(多表联查/子查询)详细讲解
sql·mysql·子查询·多表联查
一只爱撸猫的程序猿3 小时前
构建一个简单的智能文档问答系统实例
数据库·spring boot·aigc
nanzhuhe3 小时前
sql中group by使用场景
数据库·sql·数据挖掘
消失在人海中3 小时前
oracle sql 语句 优化方法
数据库·sql·oracle
Clang's Blog3 小时前
一键搭建 WordPress + MySQL + phpMyAdmin 环境(支持 PHP 版本选择 & 自定义配置)
数据库·mysql·php·wordpr
zzc9213 小时前
MATLAB仿真生成无线通信网络拓扑推理数据集
开发语言·网络·数据库·人工智能·python·深度学习·matlab