zoukankan      html  css  js  c++  java
  • 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)

    表的删除:

    -- 删除数据表
    -- 表删除之后,数据就没有了
    -- DROP TABLE [IF EXISTS] tb_name
    DROP TABLE user12;
    -- 一次删除多张表
    DROP TABLE user11,user10,user9;
  • 相关阅读:
    四则运算2之单元测试
    四则运算2之小学二年级
    四则运算2--思路
    大道至简---读书随笔
    随机30道四则运算
    读书计划
    软件工程课堂作业(七)——电梯调度之需求规格说明书
    《梦断代码Dreaming In Code》阅读笔记(二)
    软件工程课堂作业(六)——结对开发(二)
    软件工程课堂作业(五)——终极版随机产生四则运算题目(C++)
  • 原文地址:https://www.cnblogs.com/huangxm/p/5733835.html
Copyright © 2011-2022 走看看