草庐IT

mysql:增删改查语句大全

泉城清晨的晚风 2023-11-13 原文

一、插入

1、 法一

insert into 表名(列名1,列名2,……)values(值1,值2,……);

insert into bbms.users (userid,username) values (‘123’,’张三一’);

2、 法二

insert into 表名 values (值1,值2,……)插入的顺序要跟表结构数据一样

3、 法三

insert into 表名 set 列名1=值1,列名2=值2,……;

4、 法四

多行同时插入 insert into 表名 select ……from ……;

SELECT 子句返回的是一个查询到的结果集,INSERT 语句将这个结果集插入指定表中,结果集中的每行数据的字段数、字段的数据类型都必须与被操作的表完全一致。

二、查询

1、 查询所有表中数据

select * from 表名;

2、 查询部分列

select 列名1,列名2,…… from 表名;

3、 给列起别名

select 列名1 别名1,列名2 别名2,…… from 表名; 注意

4、 去重:distinct 去掉重复的数据,重复是指完全一模一样的

select distinct * from 表名; 所有字段都一致,才是重复的

select distinct 列名1,列名2 …… from 表名;distinct后面的字段完全一致,才是重复的

5、 带查询语句的:where

一个查询条件的:=、>、<、<=、>=、!=、<>

多条件查询的:in、between...and..、and、or、not

模糊查询:like ,搭配通配符“%”,“_”一起使用

6、 查询前多少条 :limit

limit 2查询前两条,

limit 5,10 跳过前五条,查询后10条 select * from bbms.users u limit 2, 3 ;

分页sql:select * from table limit (start-1)*pageSize,pageSize;

7、 分组:group by :将查询结果按照1个或多个字段进行分组,字段值相同的为一组

group by + group_concat():表⽰分组之后,根据分组结果,使⽤group_concat()来放置每⼀组的某字段的值的集 合

group by + 集合函数(例如:avg、count等)

group by + having (having 条件表达式)

三、删除

1、 delete 用来删除表数据,表数据可以恢复

删除所有数据:delete from 表名;

删除特定的行:delete from 表名 where 条件;

2、 truncate 删除表数据,但是表结构依然存储,且数据不可恢复,也不能添加查询条件。

truncate table 表名;

3、 drop 不仅删除表数据,还删除表结构。如果要删除数据库、表、存储过程、自定义函数等,一般用drop

drop table 表名;

drop database 数据库名;

4、 使用别名

如果需要使用别名,需要在delete后面加上别名;否则会报错 delete u from bbms.users u where u.userid =’123’;

四、修改

1、 修改数据

update 表名 set 字段名1=值1,字段名2=值2,…… where 条件

2、 修改表结构

update table 表名 修改的动作语法

① 修改数据类型:alter table 表名 modify 字段 新数据类型

例:alter table user modify name varchar(50) not null;

② 修改字段名:alter table 表名 change 旧字段名 新字段名 新数据类型

例:alter table user change name u_name varchar(20) not null;

③ 添加主键:alter table 表名 add constraint 约束名字 约束类型(字段)

例:alter table user add constraint PK_user_id primary key(id);

④ 修改表名

例:rename table 旧表名 to 新表名

⑤ 添加唯一约束

alter table 表名 add unique(字段名)

⑥ 修改注释

--修改表注释 alter table bbms.users comment ‘用户表’;

--修改列注释 注意必须写上类型 否则改不了 alter table bbms.users modify column username varchar(200) comment ‘用户名’;

⑦ 新增字段 alter table bbms.users add column test1 varchar(200) not null default ‘0’ comment ‘预留字段1’;

⑧ 删除字段 alter table bbms.users drop column test3;

五、查看

1、查看所有表字段 show full columns from bbms.users;

2、查看建表语句 show create table bbms.users;

……

有关mysql:增删改查语句大全的更多相关文章

  1. ruby - 如何在 Ruby 中向现有方法定义添加语句 - 2

    我注意到类定义,如果我打开classMyClass,并在不覆盖的情况下添加一些东西我仍然得到了之前定义的原始方法。添加的新语句扩充了现有语句。但是对于方法定义,我仍然想要与类定义相同的行为,但是当我打开defmy_method时似乎,def中的现有语句和end被覆盖了,我需要重写一遍。那么有什么方法可以使方法定义的行为与定义相同,类似于super,但不一定是子类? 最佳答案 我想您正在寻找alias_method:classAalias_method:old_func,:funcdeffuncold_func#similartoca

  2. 使用canal同步MySQL数据到ES - 2

    文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co

  3. 7个大一C语言必学的程序 / C语言经典代码大全 - 2

    嗨~大家好,这里是可莉!今天给大家带来的是7个C语言的经典基础代码~那一起往下看下去把【程序一】打印100到200之间的素数#includeintmain(){ inti; for(i=100;i 【程序二】输出乘法口诀表#includeintmain(){inti;for(i=1;i 【程序三】判断1000年---2000年之间的闰年#includeintmain(){intyear;for(year=1000;year 【程序四】给定两个整形变量的值,将两个值的内容进行交换。这里提供两种方法来进行交换,第一种为创建临时变量来进行交换,第二种是不创建临时变量而直接进行交换。1.创建临时变量来

  4. ruby - ruby 乘法语句中星号中断语法前的空格 - 2

    在添加一些空格以使代码更具可读性时(与上面的代码对齐),我遇到了这个:classCdefx42endendm=C.new现在这将给出“错误数量的参数”:m.x*m.x这将给出“语法错误,意外的tSTAR,期待$end”:2/m.x*m.x这里的解析器到底发生了什么?我使用Ruby1.9.2和2.1.5进行了测试。 最佳答案 *用于运算符(42*42)和参数解包(myfun*[42,42])。当你这样做时:m.x*m.x2/m.x*m.xRuby将此解释为参数解包,而不是*运算符(即乘法)。如果您不熟悉它,参数解包(有时也称为“spl

  5. ruby - 有没有办法从 ruby​​ case 语句中访问表达式? - 2

    我想从then子句中访问c​​ase语句表达式,即food="cheese"casefoodwhen"dip"then"carrotsticks"when"cheese"then"#{expr}crackers"else"mayo"end在这种情况下,expr是食物的当前值(value)。在这种情况下,我知道,我可以简单地访问变量food,但是在某些情况下,该值可能无法再访问(array.shift等)。除了将expr移出到局部变量然后访问它之外,是否有直接访问caseexpr值的方法?罗亚附注我知道这个具体示例很简单,只是一个示例场景。 最佳答案

  6. ruby - 在 Ruby 的 if 语句中检查 bash 命令 - 2

    如何在Ruby的if语句中检查bash命令的返回值(true/false)。我想要这样的东西,if("/usr/bin/fswscell>/dev/null2>&1")has_afs="true"elsehas_afs="false"end它会提示以下错误含义,它总是返回true。(irb):5:warning:stringliteralincondition正确的语法是什么?更新:/usr/bin/fswscell寻找afs安装和运行状态。它会抛出这样的字符串,Thisworkstationbelongstocell如果afs没有运行,命令以状态1退出 最

  7. ruby-on-rails - 无法安装 mysql2 0.3.14 gem - 2

    我看到其他人也遇到过类似的问题,但没有一个解决方案对我有用。0.3.14gem与其他gem文件一起存在。我已经完全按照此处指示完成了所有操作:https://github.com/brianmario/mysql2.我仍然得到以下信息。我不知道为什么安装程序指示它找不到include目录,因为我已经检查过它存在。thread.h文件存在,但不在ruby​​目录中。相反,它在这里:C:\RailsInstaller\DevKit\lib\perl5\5.8\msys\CORE\我正在运行Windows7并尝试在Aptana3中构建我的Rails项目。我的Ruby是1.9.3。$gemin

  8. ruby - 变量赋值后的 if 语句 - 有多常见? - 2

    我最近与一位同事讨论了以下Ruby语法:value=ifa==0"foo"elsifa>42"bar"else"fizz"end我个人并没有看到太多这种逻辑,但我的同事指出,这实际上是一种相当普遍的Rubyism。我试着用谷歌搜索这个主题,但没有找到任何文章、页面或SO问题来讨论它,这让我相信这可能是一种非常实际的技术。然而,另一位同事发现语法令人困惑,而是将上面的逻辑写成这样:ifa==0value="foo"elsifa>42value="bar"elsevalue="fizz"end缺点是value=的重复声明和隐式elsenil的丢失,如果我们想使用它的话。这也感觉它与Ruby

  9. ruby - 如何使用 ruby​​ mysql2 执行事务 - 2

    我已经开始使用mysql2gem。我试图弄清楚一些基本的事情——其中之一是如何明确地执行事务(对于批处理操作,比如多个INSERT/UPDATE查询)。在旧的ruby-mysql中,这是我的方法:client=Mysql.real_connect(...)inserts=["INSERTINTO...","UPDATE..WHEREid=..",#etc]client.autocommit(false)inserts.eachdo|ins|beginclient.query(ins)rescue#handleerrorsorabortentirelyendendclient.commi

  10. ruby - 当你有一个没有参数的 case 语句并且 when 子句是 lambda 时会发生什么? - 2

    这段代码没有像我预期的那样执行:casewhen->{false}then"why?"else"ThisiswhatIexpect"end#=>"why?"这也不是casewhen->(x){false}then"why?"else"ThisiswhatIexpect"end#=>"why?"第一个then子句在两种情况下都被执行,这意味着我提供给when子句的lambda没有被调用。我知道无论when子句的主题是什么,都应该调用大小写相等运算符===。我想知道当没有为case提供参数时,===的另一边会发生什么。我在想它可能是nil,但它不可能是:->{false}===nil#=>

随机推荐