mysql之数据类型以及操作数据表

数据类型

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

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

在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('1','2','3') DEFAULT '3'
    -> );
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('1','2','3')    | 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)
原文地址:https://www.cnblogs.com/chang1203/p/5875514.html