mysql表的创建

在创建数据库表时,最好是在编辑器中写好创建表的代码,然后粘贴到命令行中,这样如果有错修改起来方便。

现在来创建一个user表:

-- 打开数据库, --后面必须要有空格, 表示注释
USE mydb3;

-- 创建表(user)
-- 编号:id
-- 用户名:username
-- 年龄:age
-- 性别: sex
-- 邮箱:email
-- 地址:addr
-- 生日:birth
-- 薪水:salary
-- 电话:tel
-- 是否结婚:married

-- 当有中文的时候需要临时 转换客户端的编码方式,SET NAMES utf8, 对当前连接有效
-- 字段注释,通过comment 给字段添加注释
-- 使用反引号是为了防止表名与关键字重名
-- 可以指定表的存储引擎和编码方式
CREATE TABLE `user`(
id SMALLINT,
username VARCHAR(20),
age TINYINT,
sex ENUM(‘男‘, ‘女‘, ‘保密‘),
email VARCHAR(50),
addr VARCHAR(200),
birth YEAR,
salary FLOAT(8,2),
tel INT,
married TINYINT(1) COMMENT ‘0代表未结婚,非0代表结婚‘
)ENGINE=INNODB CHARSET=utf8;

查看数据库中的所有数据表:

mysql> SHOW TABLES;
+-----------------+
| Tables_in_mydb3 |
+-----------------+
| cms_cate        |
| cms_news        |
| course          |
| user            |
+-----------------+
4 rows in set (0.01 sec)

查看表结构:

三种方法: DESC table_name;    DESCRIBE table_name;  SHOW COLUMNS FROM table_name;

mysql> DESC user;
+----------+----------------------------+------+-----+---------+-------+
| Field    | Type                       | Null | Key | Default | Extra |
+----------+----------------------------+------+-----+---------+-------+
| id       | smallint(6)                | YES  |     | NULL    |       |
| username | varchar(20)                | YES  |     | NULL    |       |
| age      | tinyint(4)                 | YES  |     | NULL    |       |
| sex      | enum(‘男‘,‘女‘,‘保密‘)     | YES  |     | NULL    |       |
| email    | varchar(50)                | YES  |     | NULL    |       |
| addr     | varchar(200)               | YES  |     | NULL    |       |
| birth    | year(4)                    | YES  |     | NULL    |       |
| salary   | float(8,2)                 | YES  |     | NULL    |       |
| tel      | int(11)                    | YES  |     | NULL    |       |
| married  | tinyint(1)                 | YES  |     | NULL    |       |
+----------+----------------------------+------+-----+---------+-------+
10 rows in set (0.01 sec)

再创建一个整型的表test1,测试一下字段类型:

CREATE TABLE test1(
num1 TINYINT,
num2 SMALLINT,
num3 MEDIUMINT,
num4 INT,
num5 BIGINT
);

向表中插入一条记录:

-- 向表中插入数据
INSERT test1 VALUES(-128,-32768,-8388608,-2147483648,-9223372036854775808);

查询一下,看看是否插入成功 :‘

mysql> select * from test1;
+------+--------+----------+-------------+----------------------+
| num1 | num2   | num3     | num4        | num5                 |
+------+--------+----------+-------------+----------------------+
| -128 | -32768 | -8388608 | -2147483648 | -9223372036854775808 |
+------+--------+----------+-------------+----------------------+
1 row in set (0.00 sec)

修改一下,让num1超出范围,看是否能插入成功:

mysql> INSERT test1 VALUES(-129,-32768,-8388608,-2147483648,-9223372036854775808);
ERROR 1264 (22003): Out of range value for column ‘num1‘ at row 1

创建一个具有无符号的字段的表:

-- 无符号
CREATE TABLE test2(
num1 TINYINT UNSIGNED,
num2 TINYINT
);

插入数据

-- 插入
INSERT test2 VALUES(0,-12);
mysql> INSERT test2 VALUES(-10,-12);
ERROR 1264 (22003): Out of range value for column ‘num1‘ at row 1

零填充ZEROFILL

-- 零填充ZEROFILL, 加上ZEROFILL后自动变成无符号的
-- 如果不指定显示长度,默认为最大长度
CREATE TABLE test3(
num1 TINYINT(3) ZEROFILL,
num2 INT ZEROFILL
);

-- 插入数据
INSERT test3 VALUES(1,1);

看一下填充效果:

mysql> select * from test3;
+------+------------+
| num1 | num2       |
+------+------------+
|  001 | 0000000001 |
+------+------------+
1 row in set (0.01 sec)
时间: 2024-12-08 23:23:14

mysql表的创建的相关文章

MySQL表的创建和表中数据操作

这篇文章主要介绍在navicat的命令界面操作mysql.主要涉及建立表结构,和对表中数据的增加删除修改查询等动作.站在一个新手角度的简单mysql表结构和数据操作. ☆ 准备工作 1,保证自己的电脑安装了mysql(my.ini下的字符集设置是utf8) 2,确保电脑同时安装navicat(任意版本) 3,保证mysql服务器已经启动 注:若对navicat操作不熟,请参照<<navicat从下载到使用>>这篇文章. ☆ 打开控制台 在navicat的tools(工具)菜单栏选择

mysql表的创建、查看、修改、删除

一.创建表 创建表前先使用use 数据库名进入某一个数据库,创建表语句的格式如下: create table 表名称 ( 列名1 列的数据类型 [约束], 列名2 列的数据类型 [约束], 列名2 列的数据类型 [约束], ... 列名N 列的数据类型 [约束] ); #注意:最后一个末尾没有逗号 比如创建一个表名称为students,有name和age两列的表的命令为: create table students ( name varchar(20), age INTEGER ); 创建完之后

MySQL表的创建与维护

一.导入测试数据 [[email protected] ~]# wget https://launchpadlibrarian.net/24493586/employees_db-full-1.0.6.tar.bz2 mysql> source /root/employees_db/employees.sql ; 查看: mysql> use employees;Reading table information for completion of table and column names

MySQL 表的创建、修改、删除

1.创建表 1 create table 表名 ( 2 列名 类型 是否可以为空 3 列名 类型 是否可以为空 4 ) engine=innodb default charset=utf8; 1 是否可以为控制.null 表示可以为空值.not null 表示不可以为空值 2 not null -不可以为空值 3 null - 可以为空值 是否可以为空值 1 自增,如果为某列设置自增列,插入数据时无需设置此列,默认将自增.(表中只能有一个自增列) 2 create table class( 3

使用hibernate自动创建Mysql表失败原因

1.使用 schemaExport(hibernate5.2.3)创建Mysql表 @Test public void testSchemaExport() { ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build(); Metadata metadata = new MetadataSources(serviceRegistry).buildMetadata(); Sch

快速创建和mysql表对应的java domain实体类

今天创建了一个表有十几个字段,创建完之后必然要写一个与之对应的java domain实体类.这不是重复的工作吗?为什么不先把这个表的所有的字段查出来,然后放到linux环境下,用sed工具在每一行的前面加上"private String ",每一行的后面添加";".这样可以节省很多重复工作.下面上sql代码和sed命令. 查询一个mysql表所有列的列名的sql代码如下: SELECT COLUMN_NAME FROM information_schema.COLU

mysql学习从0开始:表的创建

下面的例子是一个名为 "persons" 的表: Id LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fifth Avenue New York 3 Carter Thomas Changan Street Beijing 上面的表包含三条记录(每一条对应一个人)和五个列(Id.姓.名.地址和城市). 现在我们来创建上面的数据表: mysql> create tabl

MYSQL千万级数据表,创建表及字段扩展的几条建议

MYSQL千万级数据表,创建表及字段扩展的几条建议 一:概述 当我们设计一个系统时,需要考虑到系统的运行一段时间后,表里数据量大约有多少,如果在初期,就能估算到某几张表数据量非常庞大时(比如聊天消息表),就要把表创建好,这篇文章从创建表,增加数据,以及字段扩展,这几个方面来给出建议. 二:创建表 假如现在我们需要创建IM项目中的聊天消息表,这个表数据量大,读操作远超过写操作,我们都知道,mysql常用的数据库引擎主要有innodb,myisam,这两个数据库引擎主要区别是,innodb支持事务,

MySQL workbench8.0 CE基本用法(创建数据库、创建表、创建用户、设置用户权限、创建SQL语句脚本)

原文地址:https://blog.csdn.net/zgcr654321/article/details/82156277 安装完成MySQL后,打开MySQL workbench8.0. 可以看到MySQL Connections下面是我们设置的MySQL本地登录账号,这个账号是我们在安装MySQL过程中设置的,一般命名为root,端口为3306,密码默认为空.双击进入. 要注意一点的是,在MySQL中,database(数据库)==schema(模式).在左下角schema下方区域鼠标右键