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

现在来创建一个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)

表的删除:

-- 删除数据表
-- 表删除之后,数据就没有了
-- DROP TABLE [IF EXISTS] tb_name
DROP TABLE user12;
-- 一次删除多张表
DROP TABLE user11,user10,user9;

mysql表的创建和删除的更多相关文章

  1. MySQL索引的创建、删除和查看

    MySQL索引的创建.删除和查看 此文转自http://blogold.chinaunix.net/u3/93470/showart_2001536.html 1.索引作用 在索引列上,除了上面提到的 ...

  2. MySQL查看、创建和删除索引的方法

    本文实例讲述了MySQL查看.创建和删除索引的方法.分享给大家供大家参考.具体如下: 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别 ...

  3. Django之集合函数使用与mysql表的创建特殊字段分析

    1. 集合函数的使用场景: -- 单独使用: 不分组, 只查聚合结果 -- 分组使用: 按字段分组, 可查询分组字段与聚合结果 2. 导入聚合函数 from django.db.models impo ...

  4. MySQL数据库(8)----表的创建、删除、索引和更改

    MySQL允许使用 CREATE TABLE 语句和 DROP TABLE 语句来创建.删除表,使用 ALTER TABLE 语句更改其结构.CREATE INDEX 语句和 DROP INDEX 语 ...

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

    一.创建表 创建表前先使用use 数据库名进入某一个数据库,创建表语句的格式如下: create table 表名称 ( 列名1 列的数据类型 [约束], 列名2 列的数据类型 [约束], 列名2 列 ...

  6. MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制

    /*进阶 11 DDL 数据库定义语言 库和表的管理 一:库的管理:创建/修改/删除 二:表的管理:创建/修改/删除 创建: CREATE DATABASE [IF NOT EXISTS] 库名; 修 ...

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

    这篇文章主要介绍在navicat的命令界面操作mysql.主要涉及建立表结构,和对表中数据的增加删除修改查询等动作.站在一个新手角度的简单mysql表结构和数据操作. ☆ 准备工作 1,保证自己的电脑 ...

  8. MySQL表的创建与维护

    一.导入测试数据 [root@server ~]# wget https://launchpadlibrarian.net/24493586/employees_db-full-1.0.6.tar.b ...

  9. oracle 表空间创建和删除

    oracle数据库:数据库对象以及表数据都存储在表空间中,创建用户时可以指定对应的表空间.这样用户可以在各自的表空间中操作数据,互不干扰. 1. 表空间创建 若不清楚表空间对应文件的路径,可以登录系统 ...

随机推荐

  1. C#中自定义消息,与MFc对比

    在C#中采用的是事件驱动方式,但在我们使用的过程中,有时候通过调用系统原有的消息,处理起来会比较简单一些,特别是在处理与DLL文件的交互时,的确是非常的方便.    在C#中使用自定义消息      ...

  2. 读数据库表填充DataTable

    我一般用的有2中方法: 1.数据填充 string sqlcmd="select * from table"; SqlDataAdapter adapder = new SqlDa ...

  3. UI进阶 科大讯飞(1) 语音听写(语音转换成文字)

    一.科大讯飞开放平台: http://www.xfyun.cn/ 注册.登录之后创建新应用. 因为本项目只实现了语音听写,所以在SDK下载中心勾选语音听写单项SDK就可以了 开发平台选择iOS,应用选 ...

  4. ASP.NET MVC- UrlHelper的用法

    UrlHelper提供了四个非常常用的四个方法 1.Action方法通过提供Controller,Action和各种参数生成一个URL, 2.Content方法是将一个虚拟的,相对的路径转换到应用程序 ...

  5. SOA服务开发小计

    http://item.jd.com/11181846.html#comment SOA面向服务架构——SOA的概念 http://www.cnblogs.com/leslies2/archive/2 ...

  6. C++ 中 int,char*,string,CString之间相互转换-整理

    <多字符集下> #include <string> //使用C++标准库的string类时, 定义时 std::string str; using namespace std; ...

  7. FlashPaper 使用经验之谈

    李志海  20101229  QQ:76855049 CSDN:资源下载地址:http://lizhihai_99.download.csdn.net/ http://download.csdn.ne ...

  8. 为什么SSL证书流量暴增?

    网络服务提供商 Sandvine 近日发布了一份报告,中提到了一个非常有趣的现象:和去年的数据相比,加密网络流量(SSL)在今年正在呈现出爆发式增长. 这个变化在欧洲表现得十分明显:和去年的 1.47 ...

  9. 手机web开发Repeater四层嵌套

    最近有朋友想让我给他做个手机上页面,页面功能是显示省--市--区--门店信息,这种层级关系的数据,首先来看看效果: 我想现在的手机都是智能机了对于普通的asp.net页面开发应该没什么两样,不过最终开 ...

  10. li中包含span,在IE6、IE7下会有3pxbug

    如果给每个li里面加个span标签的话,在IE6,IE7下看,li与li之间的距离就会多了3px. 解决方法:在li中加vertical-align:middle; <div class=&qu ...