表操作--建表语句

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

表操作--建表语句

1、创建默认字符集库

下面已默认格式的字符集库

mysql> create database Ysolin;

Query OK, 1 row affected (0.00 sec)

 

mysql> show create database Ysolin\G

*************************** 1. row ***************************

       Database: Ysolin

Create Database: CREATE DATABASE `Ysolin` /*!40100 DEFAULT CHARACTER SET latin1 */

1 row in set (0.00 sec)

2、建表语法格式

create table<表名>(

<字段名1><类型1>,

 

<字段名n><类型n>

);

3、建表语句例子

mysql> use Ysolin

Database changed

 

mysql> create table student(

    -> id int(4) not null,

    -> name char(20) not null,

    -> age tinyint(2) not null default '0',

    -> dept varchar(16) default NULL

    -> );

Query OK, 0 rows affected (0.01 sec)

 

mysql> show create table student\G

*************************** 1. row ***************************

       Table: student

Create Table: CREATE TABLE `student` (

  `id` int(4) NOT NULL,

  `name` char(20) NOT NULL,

  `age` tinyint(2) NOT NULL DEFAULT '0',

  `dept` varchar(16) DEFAULT NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1

1 row in set (0.00 sec)

注释:

CREATE TABLE `student` (                                                  CREATE TABLE 表示创建表的固定关键字,student为表名

  `id` int(4) NOT NULL,                                                     学号列,数字类型,长度为4,不能为空值

  `name` char(20) NOT NULL,                                      名字列,定长字符类型,长度20,不能为空

  `age` tinyint(2) NOT NULL DEFAULT '0',                 年龄列,很小的数字类型,长度为2,不能为空

  `dept` varchar(16) DEFAULT NULL                           系别列,变长字符类型,长度为16,默认为空

) ENGINE=MyISAM DEFAULT CHARSET=latin1        引擎和字符集,引擎默认MyISAM,字符集继承库的latin1

注意:MySQL501MySQL5.5环境默认的引擎是不一样的,如果想控制表的引擎,就要在建表语句里面显示的指定引擎建表

         MySQL5.1及以前,默认引擎为MyISAM

         MySQL5.5以后,默认引擎为InnoDB

4、查看表结构

mysql> desc student;

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id    | int(4)      | NO|     | NULL    ||

| name  | char(20)    | NO|     | NULL    ||

| age   | tinyint(2)  | NO|     | 0       ||

| dept  | varchar(16) | YES  || NULL    |       |

+-------+-------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

 

5MySQL表的字段类型

1)数字类型

列类型

需要的存储量

TINYINT

1字节

SMALLINT

2字节

MEDIUMINT

3字节

INT

4字节

INTEGER

4字节

BIGINT

8字节

FLOAT(X)

4如果X<=248如果25<=X=53

FLOAT

4字节

DOUBLE

8个字节

DOUBLE PRECISION

8个字节

REAL

8个字节

DECIMAL(M,D)

M字节(D+2,如果M<D

NUMERIC(M,D)

M字节(D+2,如果D<M

 

2)日期和时间类型

MySQL数据类型

含义

date

3字节,日期,格式:2014-09-18

time

3字节,时间,格式:08:42:30

datetime

8字节,日期时间,格式:2014-09-18 08:42:30

timestamp

4字节,自动存储记录修改的时间

year

1字节,年份

 

3)字符串数量类型

MySQL数据类型

含义

char(n)

固定长度,最多255个字符

varchar(n)

可变长度,最多65535个字符

tinytext

可变长度,最多255个字符

text

可变长度,最多65535个字符

mediumtext

可变长度,最多224次方-1个字符

longtext

可变长度,最多232次方-1个字符

ENUM(‘value1’, ‘value2’,…)

12个字节,取决于枚举值得数目(最大值65535

SET(‘value1’, ‘value2’,…)

1,2,3,48字节,取决于集合成员的数量(最多64个成员)

常有数据类型:

1.INT[M]型:正常大小整数类型

2.DOUBLE[(M,D)] [ZEROFILL]型:正常大小(双精密)浮点数字类型

3.DATE日期类型:支持的范围是1000-01-019999-12-31.MySQL以及YYYY-MM-DD格式来显示DATE值,但是运行你使用字符串或数字把值赋给DATE

4.CHAR(M)型:定长字符串类型,当存储时,总是使用空格填满右边指定的长度

5.BLOB TEXT类型:最大长度为6555352^16-1)个字符

6.VARCHAR型:变长字符串类型


6、查看建表结构

mysql> desc student;

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id    | int(4)      | NO|     | NULL    ||

| name  | char(20)    | NO|     | NULL    ||

| age   | tinyint(2)  | NO|     | 0       ||

| dept  | varchar(16) | YES  || NULL    |       |

+-------+-------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

 

mysql> show columns from student;

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id    | int(4)      | NO|     | NULL    ||

| name  | char(20)    | NO|     | NULL    ||

| age   | tinyint(2)  | NO|     | 0       ||

| dept  | varchar(16) | YES  || NULL    |       |

+-------+-------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

7、查看已建表的语句

mysql> show create table student\G

*************************** 1. row ***************************

       Table: student

Create Table: CREATE TABLE `student` (

  `id` int(4) NOT NULL,

  `name` char(20) NOT NULL,

  `age` tinyint(2) NOT NULL DEFAULT '0',

  `dept` varchar(16) DEFAULT NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1

1 row in set (0.00 sec)










本文转自 运维小当家 51CTO博客,原文链接:http://blog.51cto.com/solin/1875482,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
8月前
|
SQL 关系型数据库 MySQL
学习MySQL中DDL语句的修改字段与删除字段,删除表
学习MySQL中DDL语句的修改字段与删除字段,删除表
|
3月前
|
数据库
SQL_语句常见的操作创建,使用,删除表和表级约束
SQL_语句常见的操作创建,使用,删除表和表级约束
39 0
|
7月前
|
SQL 前端开发 关系型数据库
零基础学习数据库SQL语句之查询表中数据的DQL语句
零基础学习数据库SQL语句之查询表中数据的DQL语句
44 0
|
7月前
|
SQL 安全 关系型数据库
MySQL DML语句insert全表数据添加语句以及注意事项
MySQL DML语句insert全表数据添加语句以及注意事项
64 0
|
8月前
|
SQL 关系型数据库 MySQL
|
8月前
|
SQL 数据库 HIVE
Hive【基础知识 05】常用DDL操作(数据库操作+创建表+修改表+清空删除表+其他命令)
【4月更文挑战第8天】Hive【基础知识 05】常用DDL操作(数据库操作+创建表+修改表+清空删除表+其他命令)
115 0
|
8月前
|
SQL Oracle 关系型数据库
SQL ALTER TABLE 语句- 灵活修改表结构和数据类型
SQL ALTER TABLE 语句用于在现有表中添加、删除或修改列,也可用于添加和删除各种约束。
208 0
|
SQL 关系型数据库 MySQL
MYSQL 批量修改表前缀与删除数据表 sql 语句
MYSQL 批量修改表前缀与删除数据表 sql 语句
|
SQL Web App开发 安全
mysql批量删除指定前缀的表,批量修改表名的SQL语句
  Select CONCAT( 'drop table ', table_name, ';' )  FROM information_schema.tables  Where table_name LIKE 'uc_%';   注意: like ‘uc_%’ 其中 uc_是你需要替换的表前缀. 执行查询,会自动生成出 drop tabl
2679 0

热门文章

最新文章