MYSQL之DML(数据库操作语言)

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。MYSQL之DML(数据库操作语言),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

DML(数据库操作语言):

数据操作语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作。例如,对表中数据的查询、插入、删除和修改。 在DML中,应用程序可以对数据库作插,删,改,排,检等五种操作

数据库意义,存储,管理。

创建一个表

 create table if not exists test(
      -- id 列名  int 数据类型  primary key 主键 not null 不为空 auto_increment 自增   comment "" 别名
  	id  int  primary key  not null auto_increment comment '主键',
      -- default '' 默认的
      name varchar(10) not null default '匿名' comment '姓名'
  )Engine=innodb default charset=utf8;

添加(insert):

    -- 一般写插入语句,我们一定要数据和字段一一对应 一个子段对应一个值
    -- 插入数据
    insert into 表名 (【字段1,自段2,字段三】) value ('值1')('值2'),('值3')insert into test(name) value("张三")-- 或者
     -- 已知列  id name 
     insert into test value ('12','name')-- 由于主键自增,那么我们不插入id
     insert into test value( ,'name')-- 一次插入多个数据
     insert into test(name) value ('张三'),'李四';

注意:

  1. 字段使用英文逗号隔开
  2. 不写具体的列进行插入,那么我们插入的时候就需要整个数据库列的值全部插入
  3. 字段可以省略,但是后面的值必须要一一对应,不能少
  4. 可以同时插入多条数据,value后边的值,需要使用 英文逗号隔开。(),()

更新(update):

一般是更新数据库中的数据,而不是更新表的子段。。。。

-- 修改学员的名字
update test set name = '张三' where id = 1 ;
-- 在不指定具体的条件的情况下更改会更改表中所有name的数据
update test set name = '李四';  -- 更新整个表中列为name的所有数据是name都等于'李四';  切记不要傻乎乎的使用。。。后果就是删库跑路

-- 修改多个属性,逗号隔开
update test set name =  '张三'  , tel = '123321', email = '2569758@qq.com' where id = 1;



-- 语法 
update 表名 set 【列名1 =1,列2 =2 。。。。】 where 【条件】; 
操作符 含义 范围 结果
= 等于 5=6 false
<> 或 != 不等于 5<> 6 true
‘’>“” 大于 5>6 false
< 小于 5<6 true
<= 小于等于
‘’>= ” 大于等于
between… and … 介于…之间 [2,5]
and 5>1 and 1>2 false
or 5>1 or 1>2 true

update 表名 set 【列名1 = 值1,列2 = 值2 。。。。】 where 【条件】;

注意:

1. 更新某个类需要指定列名,顺带加上条件,没有加条件则会更新所有的列
2. 不同列名之间需要加,隔开。

删除(delete)

删除表中的数据,和drop不一样,drop是删除整个表,delete是删除表中的数据

-- 删除数据 尽量避免不添加条件删除
delete from 表名 ; -- 这样会删除整个数据库

-- 删除指定数据,也就是根据条件删除
delete from 表名 where  列名1 =1 and 列名2 =2 ...

TRUNCATE命令(推荐)

清空某一张表。。。

  -- 清空student表 truncate
    TRUNCATE 表名;

delete 和 truncate区别:

1. 相同点:都能删除表数据,且不会删除表结构
2. 不同:
1. truncate 重新设置自增列 记数器会归零
2. truncate不会影响事务

delete删除问题,重启数据库,现象

InnoDB 自增会重1开始(存在内存中的,断电就失去);

MyISAM 继续从上一个自增量开始(存在文件中,不会丢失)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/197995.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!