创建数据表和数据类型

创建数据表

现进入use 到某个数据库

然后就可以创建数据表了

create table 表名
(
 字段名 类型 其他配置,
 字段名 类型 其他配置,
 ……
)

例如

cmd编码问题

mysql> create table 表1
    -> (
    ->    id int primary key,
    ->    name varchar(20) not null);
ERROR 1300 (HY000): Invalid utf8 character string: '\xB1'Code language: JavaScript (javascript)

我们的这个cmd只是一个工具 执行这些命令的时候 发送这些内容到mysql服务

mysql> set names gbk;
Query OK, 0 rows affected (0.00 sec)

mysql> create table 表1
    -> (
    ->   id int primary key ,
    ->   name varchar(20)
    -> );
Query OK, 0 rows affected (0.01 sec)

mysql> show tables;
+---------------+
| Tables_in_bbs |
+---------------+
| 表1             |
+---------------+
1 row in set (0.00 sec)Code language: JavaScript (javascript)

创建中文数据库

mysql> create database 库1;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| 库1                  |
| abc                |
| bamn               |
| bbs                |
| message            |
| mysql              |
| performance_schema |
| test               |
+--------------------+
9 rows in set (0.00 sec)Code language: JavaScript (javascript)

create database 不会影响你现在所在的库 之前use 某个库 就算创建了新的库 还是在这个库里面的

mysql> show tables;
+---------------+
| Tables_in_bbs |
+---------------+
| 表1             |
+---------------+
1 row in set (0.00 sec)Code language: JavaScript (javascript)

创建数据表示例

create table post1
(
    id int primary key auto_increment,
    title varchar(100) not null,
    content text null,
    addtime datetime
)Code language: JavaScript (javascript)

注意后面的 可以没有逗号 逗号是分隔作用

auto_increment定义列为自增的属性,一般用于主键,数值会自动加1。

primary key关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。

mysql> create table post
    -> (
    -> id int primary key auto_increment,
    ->            title varchar(100) not null,
    ->            content text null,
    ->            addtime datetime
    -> )
    -> ;
Query OK, 0 rows affected (0.01 sec)

mysql> show tables;
+---------------+
| Tables_in_bbs |
+---------------+
| 表1             |
| post          |
+---------------+
2 rows in set (0.00 sec)Code language: JavaScript (javascript)

mysql的数据类型

数据类型 就是mysql中列的保存类型

MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型

首先我们看数值类型

整数

类型大小范围(有符号)范围(无符号)
TINYINT1字节(-128, 127)(0, 255)
SMALLINT2字节(-32768, 32767)(0, 65535)
MEDIUMINT3字节(-8388608, 8388607)(0, 16777215)
INT或INTEGER4字节(-2147483648, 2147483647)(0, 4294967295)
BIGINT8字节(-9223372036854775808, 9223372036854775807)(0, 18446744073709551615)

浮点型

类型大小说明
FLOAT4字节单精度浮点型
DOUBLE8字节双精度浮点型
DECIMAL(M,D)M+2字节定点数,M为总位数,D为小数位数

日期时间类型

类型大小范围格式
DATE3字节1000-01-01 ~ 9999-12-31YYYY-MM-DD
TIME3字节‘-838:59:59’ ~ ‘838:59:59’HH:MM:SS
YEAR1字节1901 ~ 2155YYYY
DATETIME8字节1000-01-01 00:00:00 ~ 9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS
TIMESTAMP4字节1970-01-01 00:00:01 ~ 2038-01-19 03:14:07YYYY-MM-DD HH:MM:SS

字符型

类型大小说明
CHAR0-255字节定长字符串
VARCHAR0-65535字节变长字符串
TINYTEXT0-255字节短文本字符串
TEXT0-65535字节长文本数据
MEDIUMTEXT0-16777215字节中等长度文本数据
LONGTEXT0-4294967295字节极大文本数据

关于这些类型

我觉得 也没必要记 死记硬背也可能记不住

应该是平常多点用 自己手写 然后慢慢就记住了。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注