数据库基础知识整理-其他表操作和常见的数据类型
这一篇主要就是补充一下其他的操作,之所有把这些放到最后,是因为相对查,增删改等操作都相对简单,不会很复杂,而最常用的就是查,尤其是数据量大的时候,增删改仍然是一条一条的入库,但是查就复杂的多了,要从几百上千万条数据中检索,复杂度可想而知,好在这些都有很多前辈已经为我们准备了很多工具,使得开发工作不需要特别复杂,但是,其他操作仍然很重要。
示例
-- 创建数据库
create database test;
-- 使用数据库
use test;
-- 创建表
create table mytable(name varchar(20),sex char(1), birth date, age int);
-- 显示表结构
describe mytable;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| age | int(11) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
-- 添加值
-- 确保值的顺序与表中的列的顺序相同。 f = female, m = male.
mysql> insert into mytable values('hans', 'm', '2000-01-26', 19);
Query OK, 1 row affected (0.05 sec)
mysql> insert into mytable(name, sex, birth, age) values('alice', 'f', '1999-01-26', 20);
Query OK, 1 row affected (0.04 sec)
-- 查询表
mysql> select * from mytable;
+-------+------+------------+------+
| name | sex | birth | age |
+-------+------+------------+------+
| hans | m | 2000-01-26 | 19 |
| alice | f | 1999-01-26 | 20 |
+-------+------+------------+------+
-- 修改值
-- 记得添加条件,否则所有记录都将被更新
update mytable set birth='2001-01-26', age=18 where name='alice';
-- 删除值
-- 记得添加条件,否则所有记录都将被删除
delete from mytable where name='alice';
常见的数据类型
通常必须在创建表的时候就决定好表中的每个列将要存储的数据的类型。
-
Number 类型:
-
INT(size)
:-2147483648 到 2147483647 常规。0 到 4294967295 无符号*。在括号中规定最大位数。 -
FLOAT(size,d)
:带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。 -
DOUBLE(size,d)
:带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
-
-
Date 类型:
-
DATE()
:- 日期
- 格式:YYYY-MM-DD。
-
DATETIME()
:- 日期和时间的组合。
- 格式:YYYY-MM-DD HH:MM:SS。
-
TIMESTAMP()
:- 时间戳。TIMESTAMP 值使用 Unix 纪元('1970-01-01 00:00:00' UTC) 至今的描述来存储。
- 格式:YYYY-MM-DD HH:MM:SS。
-
TIME()
:- 时间
- 格式:HH:MM:SS。
-
-
String 类型:
-
VARCHAR(size)
:保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多 255 个字符。 -
TEXT
:存放最大长度为 65,535 个字符的字符串。
-
网友评论