zoukankan      html  css  js  c++  java
  • Mysql运维管理创建-mysql建表语句及表知识8

    表操作

    1以默认字符集建库

    以默认格式的为例,指定字符集建库

    system@ceshi 07:0205->create database wwn;
    Query OK, 1 row affected (0.00 sec)
    system@ceshi 07:0339->SHOW CREATE DATABASE wwnG;
    *************************** 1. row ***************************
       Database: wwn
    Create Database: CREATE DATABASE `wwn` /*!40100 DEFAULT CHARACTER SET latin1 */
    row in set (0.00 sec)

    2 建立表

    (1)建表的基本命令语法

    Create table<表名>(

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

    …………

    <字段名n><类型n>

    )

    (2)建表的语句

    下面为人工建表的写法,表名student

    system@ceshi 07:3231->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.00 sec)

    第二种MySQL生成的检表语句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=InnoDB DEFAULT CHARSET=latin1

    (3)Student表的直观展示

    Mysql DBA 高级运维学习笔记-mysql建表语句及表知识

    (4)实战演示

    执行student表建表语句

    system@ceshi 07:5806->use wwn
    Database changed
    system@ceshi 09:5115->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 );

    查看建表语句

    system@ceshi 09:5115->show create table studentG
    *************************** 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=InnoDB DEFAULT CHARSET=latin1
    1 row in set (0.00 sec)

    需要注意的是mysql5.1和mysql5.5环境的默认建表语句中的引擎不同,如果希望控制表的引擎,就要在建表语句里显示指定的引擎。
    Mysql5.1及以前默认的引擎为InnoDB,Mysql5.5.5以后默认引擎为InnoDB。

    查看表结构

    system@ceshi 09:5934->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)

    3 Mysql表的字段类型

    我们可以参考mysql参考手册学习

    (1)数字类型

    Mysql DBA 高级运维学习笔记-mysql建表语句及表知识

    (1)日期和时间类型(DATE日期类型:支持范围是1000-01-01到9999-12-31。Mysql以YYYY-MM-DD格式来显示DATE值,但允许使用字符串或数字把值赋给DATE列)

    Mysql DBA 高级运维学习笔记-mysql建表语句及表知识

    (3)串类型

    Mysql DBA 高级运维学习笔记-mysql建表语句及表知识

    最重要的是下面三个类型

    1.INT(M)型:正常大小整数类型。

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

    3.VARCHAR型:变长字符串类型。

    有关mysql字段类型详细内容,请参考mysql手册。

    9.9.4 查看建表的结构

    a. 查询表结构命令

    Desc表名或者show columns from 表名,例如:

    system@ceshi 12:1602->desc student;
    system@ceshi 12:1602->show columns from student;
    system@ceshi 12:1931->use wwn
    Database changed
    system@ceshi 12:1943->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|   |
    +-------+-------------+------+-----+---------+-------+
    system@ceshi 12:1945->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)

    9.9.5 查询已经建表的语句

    b.查已建表的语句(可以看索引及创建表的相关信息)

    show create table studentG
    system@ceshi 12:2308->show create table studentG
    *************************** 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=InnoDB DEFAULT CHARSET=latin1
    1 row in set (0.00 sec)
  • 相关阅读:
    Metasploit自动攻击和选择模块攻击详解
    laravel 通过ftp上传的时候报错 Use of undefined constant FTP_BINARY
    Laravel--文件管理及上传自定义目录及文件名
    在从myql服务器上 取消主从关系和重新构建主从关系
    sql 从服务器取消主从复制
    pecl和pear 的区别和联系
    laravel中打印一个sql语句
    laravel 查询数据库first()返回的数据转数组
    [微信小程序]实现一个自定义遮罩层
    分享CSS3里box-shadow属性的使用方法,包括内阴影box-shadow:inset
  • 原文地址:https://www.cnblogs.com/zywu-king/p/8562801.html
Copyright © 2011-2022 走看看