1. 一.表的结构的增删改
  1. 添加数据类型
  2. alter table 表名 add 字段 数据类型; #如果字段存在则会报错 Duplicate column name '字段'
  3. #修改数据类型
  4. alter table 表名 modify 字段 数据类型; #如果出现Truncated incorrect INTEGER value: '小明'的报错则是因为字段与数据类型不符
  5. #更改字段名甚至数据类型。
  6. alter table 表名 change 老字段 新字段 新数据类型; #数据类型可改可不改,注意数据类型的更改要符合本身规则。
  7. #删除字段
  8. alter table 表名 drop 字段;

查看表结构(字符,数据类型,约束)

  1. MariaDB [mysql]> desc s;
  2. +--------+-------------------------------------+------+-----+---------+----------------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +--------+-------------------------------------+------+-----+---------+----------------+
  5. | id | int() unsigned | NO | PRI | NULL | auto_increment |
  6. | name | varchar() | YES | | NULL | |
  7. | age | tinyint() unsigned | YES | | | |
  8. | high | decimal(,) | YES | | NULL | |
  9. | gender | enum('男','女','中性','保密') | NO | | 保密 | |
  10. | cls_id | int() unsigned | YES | | NULL |

插入字段的内容 (insert into 表 values (赋值))

  1. insert into s values(,'酱爆',,192.555,‘男’,)
    #格局字段顺序赋予value值,id赋值0但是因为设置了auto_increment的主键,会自动增加为1;
  2. # 甚至可以赋值为default或者null,因为默认自增,综上来说,设置了主键自增的字段,添加数据的时候可以用0,null,default来做占位符。
  3. # 另外往gender的字段内添加数据,可以根据索引来插入。即1为男,2为女..
  4. #不管数据插入是否成功,自增都会生效

查看表内数据

  1. select * from 表名;
  2. MariaDB [mysql]> select * from s;
  3. +----+--------+------+--------+--------+--------+
  4. | id | name | age | high | gender | cls_id |
  5. +----+--------+------+--------+--------+--------+
  6. | | 酱爆 | | 192.56 | | |
  7. | | 酱爆 | | 192.56 | | |
  8. +----+--------+------+--------+--------+--------+

几个报错分析:

  1. 1.MariaDB [mysql]> insert into s values(null,'酱爆',,192.455,null,);
  2. ERROR (): Column 'gender' cannot be null #此报错是因为设置gender的null约束为NO,如果不设置的话,就将null默认为一个
    字符串插入。另外往gender的字段内添加数据,可以根据索引来插入。即1为男,2为女...
  1. .Invalid default value for 'gender' #此报错是因为前方null字段设置为空,而默认值设置不为空冲突
  2. .column 'gender' has duplicate dvalue'?' in ENUMigned #编码格式改为utf8
  3. Column count doesn't match value count at row 1 #添加的数据个数与字段个数不匹配
    3. Field 'id' doesn't have a default value #这是因为id的约束设置为非空值,并且没有默认值和主键自增

部分插入

  1. insert into s (name,age) values('酱爆',)
  2. -> ;
  3. Query OK, row affected (0.002 sec)
  4. # 然后查看
  5. MariaDB [mysql]> select * from s; #*代表所有
  6. +----+--------+------+--------+--------+--------+
  7. | id | name | age | high | gender | cls_id |
  8. +----+--------+------+--------+--------+--------+
  9. | | 酱爆 | | 192.56 | | |
  10. | | 酱爆 | | 192.56 | | |
  11. | | 酱爆 | | 192.46 | | |
  12. | | 酱爆 | | NULL | 保密 | NULL |
  13. +----+--------+------+--------+--------+--------+
  1. 这里有两个需要注意的地方:
    id自增和gender为保密,这是因为设置了主键自增和设置了默认值为‘保密’
    highcls_idnull,因为插入时没有赋值,会默认为null,但是这是建立在null的约束为YES的前提下,不然会报错。
    )如果在id的字段内插入值,不能重复
    4)插入的汉字数据变成 ?,这是因为数据库字符集格式没改,试着改为utf8.
    5)如果没有改变字符集是无法将汉字当作默认值设置表结构的。
  2.  
  3. 插入指定字段(列)的多行信息
    insert into 表名 (字段,字段) values(赋值,赋值),(赋值,赋值)
  1. insert into baba (name,age) values('酱爆',),(’熊大‘,);
  2. | | 酱爆 | | NULL | 保密 | NULL |
  3. | | 熊大 | | NULL | 保密 | NULL |

修改字段内数据(限定范围多用where)

  1. update s set name='zz' where name='酱爆';
  2. +----+--------+------+--------+--------+--------+
  3. | id | name | age | high | gender | cls_id |
  4. +----+--------+------+--------+--------+--------+
  5. | | zz | | 192.56 | | |
  6. | | zz | | 192.56 | | |
  7. | | zz | | 192.46 | | |
  8. | | zz | | NULL | 保密 | NULL |
  9. | | zz | | NULL | 保密 | NULL |
  10. | | 熊大 | | NULL | 保密 | NULL |
  11. | | zz | | NULL | 保密 | NULL |
  12. | | 熊大 | | NULL | 保密 | NULL |

修改多个字段的内容(update 表 set ...)

  1. update s set name='baba' ,age= where id=;
  2. MariaDB [mysql]> select * from s;
  3. +----+--------+------+--------+--------+--------+
  4. | id | name | age | high | gender | cls_id |
  5. +----+--------+------+--------+--------+--------+
  6. | | baba | | 192.56 | | |
  7. | | zz | | 192.56 | | |
  8. | | zz | | 192.46 | | |
  9. | | zz | | NULL | 保密 | NULL |
  10. | | zz | | NULL | 保密 | NULL |
  11. | | 熊大 | | NULL | 保密 | NULL |
  12. | | zz | | NULL | 保密 | NULL |
  13. | | 熊大 | | NULL | 保密 | NULL |
  14. +----+--------+------+--------+--------+--------+

删除数据 (delete from 表  + 限定条件)

  1. delete from s where id =;
  2. #如果不用where限定会删除所有表内的数据,慎用

删除用户:delete from user where user=''

删除后添加数据

  1. insert into s (name,age) values('酱爆',);
  2. #查看字段信息(发现id为8的数据删除后,下条增加的数据id为9,这是因为id自增的属性在起作用,有一定的保护作用)
  3. MariaDB [mysql]> select * from s;
  4. +----+--------+------+--------+--------+--------+
  5. | id | name | age | high | gender | cls_id |
  6. +----+--------+------+--------+--------+--------+
  7. | | baba | | 192.56 | | |
  8. | | zz | | 192.56 | | |
  9. | | zz | | 192.46 | | |
  10. | | zz | | NULL | 保密 | NULL |
  11. | | zz | | NULL | 保密 | NULL |
  12. | | 熊大 | | NULL | 保密 | NULL |
  13. | | zz | | NULL | 保密 | NULL |
  14. | | 酱爆 | | NULL | 保密 | NULL |
  15. +----+--------+------+--------+--------+--------+

查看表内数据:select * from 表名;

查看表结构:desc 表名;

查看表结构信息 :show create table 表名;

逻辑删除

1)增加字段并设置默认值为0

  1. alter table s add is_delete bit() default ;

2)插入新信息

  1. insert into s ('name','age') values('baba',),('mama',);

3)查看(发现is_delete字段内容依然空白,这是因为默认为0的数据太小,不能查看到)

  1. MariaDB [mysql]> select * from s;
  2. +----+--------+------+--------+--------+--------+-----------+
  3. | id | name | age | high | gender | cls_id | is_delete |
  4. +----+--------+------+--------+--------+--------+-----------+
  5. | | baba | | 192.56 | | | |
  6. | | zz | | 192.56 | | | |
  7. | | zz | | 192.46 | | | |
  8. | | zz | | NULL | 保密 | NULL | |
  9. | | zz | | NULL | 保密 | NULL | |
  10. | | 熊大 | | NULL | 保密 | NULL | |
  11. | | zz | | NULL | 保密 | NULL | |
  12. | | 酱爆 | | NULL | 保密 | NULL | |
  13. | | hauhua | | NULL | 保密 | NULL | |
  14. | | baba | | NULL | 保密 | NULL | |
  15. +----+--------+------+--------+--------+--------+-----------+
  16. 此操作作用在于给逻辑删除的用户标记,0为正常用户,1为逻辑删除用户。
  1. MariaDB [mysql]> insert into s values(null,'酱爆',,192.455,null,)

mariadb(二)增删改的更多相关文章

  1. MyBatis学习系列二——增删改查

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...

  2. ThinkPHP 数据库操作(二) : 增删改查

    基本使用 可以直接使用数据库运行原生SQL操作了,支持 query (查询操作)和 execute (写入操作)方法,并且支持参数绑定. Db::query('select * from think_ ...

  3. mybatis入门(二):增删改查

    mybatis的原理: 1.mybatis是一个持久层框架,是apache下的顶级项目 mybatis托管到googlecode下,目前托管到了github下面 2.mybatis可以将向prepar ...

  4. <MySQL>入门二 增删改 DML

    -- DML语言 /* 数据操作的语言 插入:insert 修改:update 删除:delete */ 1.插入 -- 插入语句 /* 语法:insert into 表名(列名...) values ...

  5. mariadb数据库增删改查

    1.常用数据类型 1)整数:int, bit 2)小数:decimal     #decimal(5,2)表示共有五位数,保留两位小数 3)字符串:varchar, char 4)日期时间:date, ...

  6. mybatis入门二-----增删改查

    一.使用MyBatis对表执行CRUD操作——基于XML的实现 1.定义sql映射xml文件 userMapper.xml文件的内容如下: <?xml version="1.0&quo ...

  7. mariadb数据库(2)增删改与 单表查询

    一.数据类型 MariaDB数据类型可以分为数字,日期和时间以及字符串值. 使用数据类型的原则:够用就行, 尽量使用范围小的,而不用大的 常用的数据类型 整数:int, bit 小数:decimal ...

  8. mysql基础之mariadb对表中数据的增删改查

    复习: 查看表:show tables; 创建表:create table 表名(字符类型); 删除表:drop table 表名; 对表的结构进行增删改查: 查看表结构:desc 表名; 修改表-添 ...

  9. 日历插件FullCalendar应用:(二)数据增删改

    接上一篇 日历插件FullCalendar应用:(一)数据展现. 这一篇主要讲使用fullcalendar插件如何做数据的增删改,用到了art.dialog web对话框组件,上一篇用到的webFor ...

随机推荐

  1. css-sprite 雪碧图的使用,合并多张小图,背景图片当按钮的设置

    背景图片基础: 使用background-image来设置背景图片 语法: background-image:url(相对与css的路径) 如果背景图片大于元素,默认会显示图片的左上角 如果背景图片和 ...

  2. Java 类在 Tomcat 中是如何加载的?

    作者 :xingoo https://www.cnblogs.com/xing901022/p/4574961.html 说到本篇的Tomcat类加载机制,不得不说翻译学习Tomcat的初衷. 之前实 ...

  3. 大神级回答exists与in的区别

    google搜了一下,很多帖子,而且出发点不同,各有各的道理,但是有一个帖子讲的特别好: http://zhidao.baidu.com/question/134174568.html 忍不住在百度上 ...

  4. redis 安装和运行

    安装redis 在CentOs虚拟机上:yum install redis,可能会出现以下错误: 解决方式:先输入yum install epel-release,之后输入:redis-server启 ...

  5. Nginx处理前端跨域(补充)

    在之前的博客中提到了用nginx来处理前后端跨域问题,用Nginx代理请求,处理前后端跨域 ,虽然解决当时了问题,但是在实际使用中还是不好用,当时应对的只是对单接口的处理,如果一个页面需要调用两个不同 ...

  6. JavaEE高级-Hibernate学习笔记

    *什么是Hibernate? > 一个框架 > 一个Java领域的持久层框架 > 一个ORM框架 *对象的持久化 > 狭义的理解:“持久化”仅仅指把对象永久保存到数据库中 &g ...

  7. NtQuerySystemInformation

    #include "stdafx.h" #include <Windows.h> #include <winternl.h> using namespace ...

  8. oracle 汇编04

    General-Purpose Instructions The general-purpose instructions perform basic data movement, memory ad ...

  9. php $_SERVER 中的 QUERY_STRING和REQUEST_URI

    index.php <?php print_r($_GET); parse_str($_SERVER['QUERY_STRING'],$get); print_r($get); print_r( ...

  10. html 头部设置

    https://juejin.im/post/5a4ae29b6fb9a04504083cac <head> <meta charset="UTF-8"> ...