数据类型

数据类型是指列、存储过程的参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。

——————————————————————————————————————————————————————————

在mysql当中数据类型大概有以下几类

————————————————————————————————————————————

1.整型

————————————————————————————————————————————————————————————————

浮点型

————————————————————————————————————————————————————

日期时间型

上述的几种类型都有自己的存储的范围,每个存储范围都不同,TIMESTAMP指的是时间戳。

DATE:经常用起来存储时间(1000~9999.12.31)

DATETIME:支持的时间是1000.0.0.0到9999.12.31.11.59

 DATWTEMP:1970~2037之间的一个时间。

TIME :8385959~8385959之间的一个过程

————————————————————————————————————————————————————————————————

字符型

——————————————————————————————————————————————————————————————————

数据表

 

mysql> PROMPT \u@\h \d>
PROMPT set to '\u@\h \d>'
root@127.0.0.1 (none)>SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| t2 |
| test |
+--------------------+
5 rows in set (0.12 sec) root@127.0.0.1 (none)>USE t2;
Database changed
root@127.0.0.1 t2>SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| t2 |
+------------+
1 row in set (0.00 sec) root@127.0.0.1 t2>

——————————————————————————————————————————————

root@127.0.0.1 t2>CREATE TABLE t2(
-> username VARCHAR(20),
-> age TINYINT UNSIGNED,
-> salary FLOAT(8,2) UNSIGNED
-> );
Query OK, 0 rows affected (0.22 sec)

VARCHAR(20)指的是我们的名字的长度有20位。

TINYINT UNSIGNED指的是我们的年龄不需要包含负数。

FLOAT(8,2)指的是我们的整个工资一共有8位,其中小数点后面有2位。

——————————————————————————————————————————————

查看数据表

MYSQL 查看数据表:
SHOW TABLES [FROM db_name]
root@127.0.0.1 t2>SHOW TABLES;
+--------------+
| Tables_in_t2 |
+--------------+
| t2 |
+--------------+
1 row in set (0.00 sec) root@127.0.0.1 t2>SHOW TABLES FROM MYSQL;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
24 rows in set (0.11 sec)

——————————————————————————————————————————

查看数据表的结构

1.查看数据表列表: SHOW TABLE [FROM db_name];
2.查看数据表的结构:SHOW COLUMNS FROM tbl_name;
3.查看当前数据库中的表:SHOW TABLES;
root@127.0.0.1 t2>SHOW COLUMNS FROM t2
-> ;
+----------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------+------+-----+---------+-------+
| username | varchar(20) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
| salary | float(8,2) unsigned | YES | | NULL | |
+----------+---------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

——————————————————————————————————————————————————————————

修改数据表

往数据表里面插入数据:插入记录
insert [into] tbl_name[(col_name,....)] values(val,...)省略列名,则必须给所有字段赋值

root@127.0.0.1 t2>INSERT t2 VALUES('TOM',25,7857.5);
Query OK, 1 row affected (0.10 sec)
root@127.0.0.1 t2>INSERT t2(username,age) VALUES('John',25);
Query OK, 1 row affected (0.14 sec)

记录查找
selece expr,....from tbl_name

root@127.0.0.1 t2>SELECT * FROM t2;
+----------+------+---------+
| username | age | salary |
+----------+------+---------+
| TOM | 25 | 7857.50 |
| John | 25 | NULL |
+----------+------+---------+
2 rows in set (0.00 sec)

——————————————————————————————————————————————————————

空值与非空值

NOT NULL意味着我们在给它赋值的时候是不能够为空的

————————————————————————————————————————————————

自动编号

root@127.0.0.1 t2>CREATE TABLE tb1(
-> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
-> username VARCHAR(30) NOT NULL
-> );
Query OK, 0 rows affected (0.23 sec) root@127.0.0.1 t2>INSERT tb1(username) VALUES('Tom');
Query OK, 1 row affected (0.14 sec) root@127.0.0.1 t2>INSERT tb1(username) VALUES('Dean');
Query OK, 1 row affected (0.14 sec) root@127.0.0.1 t2>SELECT * FROM tb1;
+----+----------+
| id | username |
+----+----------+
| 1 | Tom |
| 2 | Dean |
+----+----------+
2 rows in set (0.00 sec)

——————————————————————————————————————————————————————————————

初涉唯一的约束

root@127.0.0.1 t2>CREATE TABLE tb4(
-> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
-> username VARCHAR(20) NOT NULL UNIQUE KEY,
-> age TINYINT UNSIGNED);
Query OK, 0 rows affected (0.10 sec) root@127.0.0.1 t2>SHOW COLUMNS FROM tb4;
+----------+----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+----------------+
| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment |
| username | varchar(20) | NO | UNI | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
+----------+----------------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

————————————————————————————————————————————————

初涉默认约束

root@127.0.0.1 t2>CREATE TABLE tb5(
-> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
-> username VARCHAR(20) NOT NULL UNIQUE KEY,
-> sex ENUM('','','') DEFAULT ''
-> );
Query OK, 0 rows affected (0.21 sec) root@127.0.0.1 t2>SHOW COLUMNS FROM tb5;
+----------+----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+----------------+
| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment |
| username | varchar(20) | NO | UNI | NULL | |
| sex | enum('','','') | YES | | 3 | |
+----------+----------------------+------+-----+---------+----------------+
3 rows in set (0.00 sec) root@127.0.0.1 t2>INSERT tb5(username) VALUES('Tom');
Query OK, 1 row affected (0.18 sec) root@127.0.0.1 t2>SELECT * FROM tb5;
+----+----------+------+
| id | username | sex |
+----+----------+------+
| 1 | Tom | 3 |
+----+----------+------+
1 row in set (0.00 sec)

mysql之数据类型以及操作数据表的更多相关文章

  1. MySQL之数据类型与操作数据表

    上节回顾 一.数据类型 什么是数据类型? 数据类型是指列.存储过程参数.表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型. 所谓数据类型,最直接的理解就是我们有些是存储数字的, ...

  2. MySQL(二) —— 数据类型与操作数据表

    数据类型 数据类型是指列.存储过程参数.表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型. 整型:TYNINT(-2^7 ~ 2^7-1); SMALLINT(-2^15 ~ ...

  3. MySQL学习之路(二)——数据类型和操作数据表

    数据类型和操作数据表 2.1 MySQL类型之整型 2.2 MySQL数据类型之浮点型 2.3 日期时间型 DATE 1支持时间:1000年1月1日~9999年12月31日 DATETIME 3 支持 ...

  4. mysql 操作sql语句 操作数据表

    #2. 操作文件 先切换到文件夹下:use db1 查看当前所在的数据库 mysql> select database(); +------------+ | database() | +--- ...

  5. mysql 操作sql语句 操作数据表中的内容/记录

    #3. 操作文件中的内容/记录 往哪张表去插入 insert into 表名指定字段(id,name) 插入要加values(针对前面字段插入)(2,mike); insert into t1(id, ...

  6. MySQL入门(4)——操作数据表

    MySQL入门(4)--操作数据表 创建数据库 CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 数据库名 [(create_definition,...)] [tab ...

  7. MYSQL操作数据表中的记录

    36:操作数据表中的记录插入记录   INSERT INTO 表名  VALUES();   或者INSERT 表名  VALUES();  UPDATE更新记录(单表更新)  DELETE删除记录( ...

  8. MySQL 命令操作数据表

    MySQL 命令操作数据表 1.查看表信息 desc hs_user_credit_info; 2.新增表字段 alter table hs_credit_order add search_relat ...

  9. Python进阶----数据库引擎(InnoDB),表的创建,mysql的数据类型,mysql表的约束

    Python进阶----数据库引擎(InnoDB),表的创建,mysql的数据类型,mysql表的约束 一丶MySQL的存储引擎 什么是存储引擎:    MySQL中的数据用各种不同的技术存储在文件( ...

随机推荐

  1. react antd layout sider

    import React from 'react'; import {Link, withRouter} from 'react-router-dom'; import {Layout, Menu, ...

  2. Python基础学习(第1天)

    写这篇随笔,是看Vamei大大写的Python快速教程的学习笔记,以此自勉,链接:http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.htm ...

  3. laravel发送邮件

    这里已163为例: 1..env文件配置和mail.php配置(默认使用.env) MAIL_DRIVER=smtp MAIL_HOST=smtp.163.com MAIL_PORT=465 MAIL ...

  4. Android常见面试笔试题目

    Android常见面试笔试题目 1.在多线程编程这块,我们经常要使用Handler,Thread和Runnable这三个类,那么他们之间的关系你是否弄清楚了呢? 答:可以处理消息循环的线程,他是一个拥 ...

  5. WWDC 2017, 让我们看看 iTunesConnect 有了哪些不同

    距离 WWDC 2017 过去已经有 7 天了,小伙伴们是不是已经发现我们的苹果后台和之前的界面有些略微的不同,如果有心的朋友下了 iOS 11 beta 版就会发现设备上的 App Store 界面 ...

  6. 目标跟踪之ECO:Efficient Convolution Operators for Tracking

    一. 相关滤波算法总结 作者首先分析了 影响相关滤波算法效率 和 导致过拟合 的几个原因: 1)Model Size (模型大小) 包括两个方面: - 模型层数,对应多分辨率 Sample,比如多层 ...

  7. mysql-jdbc创建Statement与执行SQL

    使用JDBC创建Connection后,执行SQL需要先创建Statement Statement stmt = connection.createStatement(); 创建代码如下 public ...

  8. request.getDispatcher().forward(request,response)和response.sendRedirect()的区别

    在进行web开发时,跳转是最常见的,今天在这里来学习下2种跳转: 第一种是request.getDispatcher().forward(request,response): 1.属于转发,也是服务器 ...

  9. 洛谷 P3225 [HNOI2012]矿场搭建

    传送门 题目大意:建设几个出口,使得图上无论哪个点被破坏,都可以与出口联通. 题解:tarjian求割点 首先出口不能建在割点上,找出割点,图就被分成了几个联通块. 每个联通块,建出口.如果割点数为0 ...

  10. git超速掌握之一(基本使用)

    前言: 无论你是运维.开发还是IT爱好者,都会听说github了吧?动不动哪位大神就说在github上有什么什么项目,我的github地址是xxxxx,甚至有自己个github在找新工作时都能给自己加 ...