mariadb数据类型

mariadb数据类型分为数字、日期、时间以及字符串值。

适用类型原则:够用就行,尽量使用范围小的,而不用大的

常用数据类型:

1、整数 int,bit   #例如 年纪 适用于必须是整数的

2、小数 decimal   # 例如 身高、收入                                #decimal(5,2)  5位数保留小数点后两位   decimal(7,1)7位数保留小数点后两位

3、字符串 char,varchar  (可定义字符) #例如  姓名 、班级、籍贯等等,也可以整数、小数等数据类型 但是不能函数运算

4、日期时间 date,time,datetime

5、枚举类型 enum  #可指定的类型  例如 性别

约束:

主键primary key:物理上存储的顺序

非空not null:此字段不能为空

唯一unique:此字段不允许重复

默认default:当不填写此值时会使用默认值,如果填写则已填写为准

外键foreign key:对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常

创建一张class表 (id,name,age)

MariaDB [testdb]> create table class(id int primary key not null auto_increment,name varchar(20), age tinyint unsigned);
Query OK, 0 rows affected (0.00 sec)

在class表中插入数据 insert into

MariaDB [testdb]> insert into class(name,age) values('李志锋',29);
Query OK, 1 row affected (0.00 sec)

查看class表 select

MariaDB [testdb]> select * from class;
+----+-----------+------+
| id | name | age |
+----+-----------+------+
| 1 | 李志锋 | 29 |
+----+-----------+------+
1 row in set (0.00 sec)

查看表结构 desc

MariaDB [testdb]> desc class;
+-------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
+-------+---------------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

修改表-添加字段  --alter table 表名 add 列名 类型;

MariaDB [testdb]> alter table class add gender enum ('男','女','保密');
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0 MariaDB [testdb]> desc class;
+--------+----------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+----------------------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
| gender | enum('男','女','保密') | YES | | NULL | |
+--------+----------------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

修改表-修改表字段类型不重名版本  --alter table 表名 modify 列名 类型及约束;

MariaDB [testdb]> alter table class modify gender enum('男','女','保密') default'保密';
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0 MariaDB [testdb]> desc class;
+----------+----------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------------------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
| gender | enum('男','女','保密') | YES | | 保密 | |
| birthday | datetime | YES | | NULL | |
+----------+----------------------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

修改表-修改表字段名称、类型  --alter table 表名 change 原名 新名 类型及约束;

MariaDB [testdb]> alter table class change birthday birth date;
Query OK, 1 row affected (0.02 sec)
Records: 1 Duplicates: 0 Warnings: 0 MariaDB [testdb]> desc class;
+--------+----------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+----------------------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
| gender | enum('男','女','保密') | YES | | 保密 | |
| birth | date | YES | | NULL | |
+--------+----------------------------+------+-----+---------+----------------+
5 rows in set (0.00 sec) 

修改表-删除字段 -- alter table 表名 drop 列名;

MariaDB [testdb]> alter table class drop gender;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0 MariaDB [testdb]> desc class;
+-------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
| birth | date | YES | | NULL | |
+-------+---------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

 

 修改表内容

 --update 表名 set 列1=值1, 列2=值2... where 条件;
例: 将class表中的绿帽子改成红帽
MariaDB [testdb]> select * from class;
+----+-----------+------+-------+------+
| id | name | age | birth | high |
+----+-----------+------+-------+------+
| 1 | 李志锋 | 29 | NULL | NULL |
| 2 | 绿帽子 | 19 | NULL | NULL |
| 3 | 王晶 | 29 | NULL | NULL |
+----+-----------+------+-------+------+
3 rows in set (0.00 sec) MariaDB [testdb]> update class set name=('红帽') where id=2;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0 MariaDB [testdb]> select * from class;
+----+-----------+------+-------+------+
| id | name | age | birth | high |
+----+-----------+------+-------+------+
| 1 | 李志锋 | 29 | NULL | NULL |
| 2 | 红帽 | 19 | NULL | NULL |
| 3 | 王晶 | 29 | NULL | NULL |
+----+-----------+------+-------+------+
3 rows in set (0.00 sec)

  

删除表内容

 delete from 表名 where 条件

例:将class表中的红帽删除

MariaDB [testdb]> delete from class where name=('红帽');
Query OK, 1 row affected (0.00 sec) MariaDB [testdb]> select * from class;
+----+-----------+------+-------+------+
| id | name | age | birth | high |
+----+-----------+------+-------+------+
| 1 | 李志锋 | 29 | NULL | NULL |
| 3 | 王晶 | 29 | NULL | NULL |
+----+-----------+------+-------+------+
2 rows in set (0.00 sec)

  

												

maridb数据库表及字段增删改的更多相关文章

  1. Oracle创建表、删除表、修改表、字段增删改 语句总结

    创建表: create table 表名 ( 字段名1 字段类型 默认值 是否为空 , 字段名2 字段类型 默认值 是否为空, 字段名3 字段类型 默认值 是否为空, ...... ); 创建一个us ...

  2. 一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器

    一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字 ...

  3. Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查

    本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...

  4. PreparedStatement实现表数据的增删改 & 封装数据库链接和关闭操作

    PreparedStatement实现表数据的增删改 PreparedStatementUpdateTest package com.aff.PreparedStatement; import jav ...

  5. sqlite数据库操作详细介绍 增删改查,游标

    sqlite数据库操作详细介绍 增删改查,游标     本文来源于www.ifyao.com禁止转载!www.ifyao.com Source code     package com.example ...

  6. Delphi - cxGrid连接Oracle数据库 实现数据的增删改查

    cxGrid连接Oracle数据库 实现数据的增删改查 cxGrid连接Oracle数据库 1:通过OraSession连接数据库.OraDataSet实现OraSession和OraDataSour ...

  7. django-orm框架表单的增删改查

    08.14自我总结 django-orm框架 一.orm基本配置 1.创建django项目 命令行:cmd先去到django创建目录,然后输入django-admin startproject dja ...

  8. 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理

    一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...

  9. mysql数据库表的自增主键号不规律,重新排列

    mysql数据库表的自增主键ID乱了,需要重新排序. 原理:删除原有的自增ID,重新建立新的自增ID. 1.删除原有主键: ALTER TABLE `table_name` DROP `id`; 2. ...

  10. 5.创建表,使用alter进行表信息的增删改,Oracle回收站,集合运算

     1  Oracle基于用户的管理方案 2 DDL语句可以管理数据库的对象有:视图   索引  序列  同义词   约束 3  创建一个表,有2个条件(1 有权限:2有表空间) Oracle给你提 ...

随机推荐

  1. 关于我在安装2.6.9版本bochs虚拟机时遇到的问题以及解决过程

    更新于:2019.7.2 在阅读<一个64位操作系统的设计与实现>过程中,搭建实验环境遇到的诸多困难. 本人的实验环境:vmware15.0 下安装有kali-liunx虚拟机里进行的安装 ...

  2. 使用vault配置加密

    简介 在使用ansible的过程中,不可避免的会存储一些敏感信息,比如在变量文件中存储帐号密码信息等. ansible通过ansible-vault命令行工具来提供对敏感文件的加密和解密. ansib ...

  3. vim下的查找命令

    linux下vim 查找命令: /text --查找text, 按n查找下一个, N查找上一个 ?text --查找text(反向查找), 按n查找下一个, N查找上一个 */# --查找光标当前的单 ...

  4. jenkins配置自动化

    1.自定义jenkins自定义工作空间 --从SVN获取的项目会更新到对应空间 2.安装svn插件,填写项目地址 3.构建定时触发器,每天23点执行 4.执行调用用例脚本,解决测试报告样式展示问题 5 ...

  5. echart lengend 选中事件

    根据列选项 来改变echart y轴数值 前4个指标 甲方要求 95~100   第5个 要求 0~10如果混合起来 就是 0~100 这时的我 不由的破口大骂!!!但是 该干的活还是得干 干货如下:

  6. java学习一:java介绍及第一个helloword程序

    1.java语言介绍 java是一门后台开发语言 大型web语言系统开发,app后台服务首选开发语言 java这门语言大特点:跨平台,安全性高,有丰富的类库 核心思想:面向对象 2.Jdk介绍 3.为 ...

  7. react toolkit 异步请求之后调取其他函数

    在slice切片文件中,页面dispatch执行action之后,异步请求完成后调取另外一个异步请求,要在异步请求的 第二个参数添加   thunkAPI,调取thunkAPI的dispatch方法即 ...

  8. Vmware-workstation - Centos8.0扩容磁盘空间 / 目录

    1. 软件版本 vmware workstation  15 pro 虚拟机: centos8.0 2.将虚拟机关机选择扩容到多大 3. 进入操作系统,执行lsblk查看sda盘的情况.下图所示,需要 ...

  9. 使用EmguCV3.0.0调用摄像头并设置帧率

    此教程使用emgu3.0.0,其他版本兼容性未知. 转载请注明出处: http://www.cnblogs.com/zaiyuzhong/p/open-camera-with-emgu3_0_0.ht ...

  10. 软件工程日报三——创建一个简单app和SDK的介绍

    昨天讲安卓studio和gradle等软件和环境都配置成功,今天开始创建第一个app. 一.打开Android studio,创建一个新文件,点击File,选择New Project里面的Empty ...