数据类型

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

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

在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. cannot be read or is not a valid ZIP file

    在eclipse下创建 maven 项目,运行 flowable 6.1.2 配置maven之后,下载相应的依赖库. 发现报错: Archive for required library: '/Use ...

  2. Thrift之c++实例

    一.c++实例 1.下载与安装thrift工具 http://thrift.apache.org/download/ .服务端代码 1).新建vc工程. 2).将上面的文件拷贝到工程目录下,Test_ ...

  3. Leetcode 867. Transpose Matrix

    class Solution: def transpose(self, A: List[List[int]]) -> List[List[int]]: return [list(i) for i ...

  4. [转]优化Flash性能

    原文:http://www.adobe.com/devnet/flash/articles/optimizing-flash-performance.html 翻译:http://bbs.9ria.c ...

  5. Python解析excel文件并存入sqlite数据库

    最近由于工作上的需求 需要使用Python解析excel文件并存入sqlite 就此做个总结 功能:1.数据库设计 建立数据库2.Python解析excel文件3.Python读取文件名并解析4.将解 ...

  6. LINUX (centos)设置IP地址,网关,DNS

    首先:备份原始配置文件: [logonmy@logon ~]$ cd /etc/sysconfig/network-scripts/ [logon@logon network-scripts]$ pw ...

  7. linux 系统监控某目录下文件及文件夹的变化

    inotifywait 是一个可以实时监控文件变动的工具,它利用linux内核中的inotify机制实现监控功能. 查看内核版本 [root@Oracle ~]# uname -r 2.6.32-22 ...

  8. [转载] ffmpeg摄像头视频采集-采集步骤概述并采集一帧视频

    近期由于工作任务,需要开发一个跨平台视频聊天系统,其中就用到了ffmpeg进行采集与编码,网上找了一大堆的资料,虽然都有一些有用的东西,但实在太碎片化了,这几天一直在整理和实验这些资料,边整理,边做一 ...

  9. Python学习系列(六)(模块)

    Python学习系列(六)(模块) Python学习系列(五)(文件操作及其字典) 一,模块的基本介绍 1,import引入其他标准模块 标准库:Python标准安装包里的模块. 引入模块的几种方式: ...

  10. CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中(转)

    http://www.jb51.net/article/58843.htm 一.安装Email发送程序 复制代码 代码如下: yum install sendmail mutt 二.安装FTP客户端程 ...