zoukankan      html  css  js  c++  java
  • 数据库上手避坑之--创建数据库和表

      在插入和数据前,需要确定插入和操作的表。而表需要数据库存储,数据库就是存储数据表的容器。建表时需要考虑以下问题:

    1、用哪个数据库存储,要建多少个表,需要多少个表名;

    2、每个表中要见多少列,以及需要多少个列名

    3、每一列存储的数据类型,简单的四种类型:数字INT、少量字符VARCHAR、大量文字TEXT或二进制文字,日期和时间信息

    一、创建数据库

    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | student_info       |
    | test               |
    +--------------------+
    5 rows in set (0.065 sec)
    
    MariaDB [(none)]> create database rookery;
    Query OK, 1 row affected (0.001 sec)
    
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | rookery            |
    | student_info       |
    | test               |
    +--------------------+
    6 rows in set (0.001 sec)
    
    MariaDB [(none)]> drop database rookery;
    Query OK, 0 rows affected (0.120 sec)
    
    MariaDB [(none)]> create schema rookery;
    Query OK, 1 row affected (0.002 sec)
    
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | rookery            |
    | student_info       |
    | test               |
    +--------------------+
    6 rows in set (0.001 sec)
    
    MariaDB [(none)]> show schemas;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | rookery            |
    | student_info       |
    | test               |
    +--------------------+
    6 rows in set (0.002 sec)

    二、数据表

    MariaDB [(none)]> use rookery;
    Database changed
    MariaDB [rookery]> show tables;
    Empty set (0.000 sec)
    
    MariaDB [rookery]> create table birds(birdId int auto_increment primary key,
        -> scientificName varchar(255) unique,
        -> commonName varchar(50),
        -> familyId int,
        -> description text);
    Query OK, 0 rows affected (0.165 sec)
    
    MariaDB [rookery]> describe birds;
    +----------------+--------------+------+-----+---------+----------------+
    | Field          | Type         | Null | Key | Default | Extra          |
    +----------------+--------------+------+-----+---------+----------------+
    | birdId         | int(11)      | NO   | PRI | NULL    | auto_increment |
    | scientificName | varchar(255) | YES  | UNI | NULL    |                |
    | commonName     | varchar(50)  | YES  |     | NULL    |                |
    | familyId       | int(11)      | YES  |     | NULL    |                |
    | description    | text         | YES  |     | NULL    |                |
    +----------------+--------------+------+-----+---------+----------------+
    5 rows in set (0.002 sec)
    
    MariaDB [rookery]> insert into birds(scientificName, commonName)
        -> values('Charadrius vociferus', 'Killdeer'),
        -> ('Gavia immer', 'Great Northern Loon'),
        -> ('Aix sponsa', 'Wood Duck'),
        -> ('Chordeiles minor', 'Common Nighthawk'),
        -> ('Sitta carolinensis', 'White-breasted Nuthatch'),
        -> ('Apteryx mantelli', 'North Island Brown Kiwi');
    Query OK, 6 rows affected (0.083 sec)
    Records: 6  Duplicates: 0  Warnings: 0
    
    MariaDB [rookery]> select * from birds;
    +--------+----------------------+-------------------------+----------+-------------+
    | birdId | scientificName       | commonName              | familyId | description |
    +--------+----------------------+-------------------------+----------+-------------+
    |      1 | Charadrius vociferus | Killdeer                |     NULL | NULL        |
    |      2 | Gavia immer          | Great Northern Loon     |     NULL | NULL        |
    |      3 | Aix sponsa           | Wood Duck               |     NULL | NULL        |
    |      4 | Chordeiles minor     | Common Nighthawk        |     NULL | NULL        |
    |      5 | Sitta carolinensis   | White-breasted Nuthatch |     NULL | NULL        |
    |      6 | Apteryx mantelli     | North Island Brown Kiwi |     NULL | NULL        |
    +--------+----------------------+-------------------------+----------+-------------+
    6 rows in set (0.001 sec)
    
    MariaDB [rookery]> create schema birdWatchers;
    Query OK, 1 row affected (0.001 sec)
    
    MariaDB [rookery]> show schemas;
    +--------------------+
    | Database           |
    +--------------------+
    | birdWatchers       |
    | information_schema |
    | mysql              |
    | performance_schema |
    | rookery            |
    | student_info       |
    | test               |
    +--------------------+
    7 rows in set (0.001 sec)
    
    MariaDB [rookery]> create table birdWatchers.humans(
        -> humanId int auto_increment primary key,
        -> formalTitle varchar(25),
        -> nameFirst varchar(25),
        -> nameLast varchar(25),
        -> emailAddress varchar(255));
    Query OK, 0 rows affected (0.154 sec)
    
    MariaDB [rookery]> insert into birdWatchers.humans(
        -> formalTitle, nameFirst, nameLast, emailAddress) values
        -> ('Mr. ', 'Russell', 'Dyer', 'russell@mysqlresources.com'),
        -> ('Mr. ', 'Richard', 'Stringer', 'richard@mysqlresources.com'),
        -> ('Ms. ', 'Rusty', 'Osborne', 'rusty@mysqlresources.com'),
        -> ('ms. ', 'Lexi', 'Hollar', 'alexandra@mysqlresources.com');
    Query OK, 4 rows affected (0.031 sec)
    Records: 4  Duplicates: 0  Warnings: 0
    MariaDB [rookery]> describe birds;
    +----------------+--------------+------+-----+---------+----------------+
    | Field          | Type         | Null | Key | Default | Extra          |
    +----------------+--------------+------+-----+---------+----------------+
    | birdId         | int(11)      | NO   | PRI | NULL    | auto_increment |
    | scientificName | varchar(255) | YES  | UNI | NULL    |                |
    | commonName     | varchar(50)  | YES  |     | NULL    |                |
    | familyId       | int(11)      | YES  |     | NULL    |                |
    | description    | text         | YES  |     | NULL    |                |
    +----------------+--------------+------+-----+---------+----------------+
    5 rows in set (0.001 sec)
    
    MariaDB [rookery]> show create table  birds G;
    *************************** 1. row ***************************
           Table: birds
    Create Table: CREATE TABLE `birds` (
      `birdId` int(11) NOT NULL AUTO_INCREMENT,
      `scientificName` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
      `commonName` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
      `familyId` int(11) DEFAULT NULL,
      `description` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
      PRIMARY KEY (`birdId`),
      UNIQUE KEY `scientificName` (`scientificName`)
    ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
    1 row in set (0.000 sec)
    
    ERROR: No query specified

    三、更高级理解表

    MariaDB [rookery]> create table birdFamilies(
        -> familyId int auto_increment primary key,
        -> scientificName varchar(255) unique,
        -> briefDescription varchar(255));
    Query OK, 0 rows affected (0.197 sec)
    
    MariaDB [rookery]> create table birdOrders(
        -> orderId int auto_increment primary key,
        -> scientificName varchar(255) unique,
        -> briefDescription varchar(255),
        -> orderImage blob)
        -> default charset=utf8 collate=utf8_general_ci;
    Query OK, 0 rows affected (0.177 sec)
    
    MariaDB [rookery]>  show create table  birds G;
    *************************** 1. row ***************************
           Table: birds
    Create Table: CREATE TABLE `birds` (
      `birdId` int(11) NOT NULL AUTO_INCREMENT,
      `scientificName` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
      `commonName` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
      `familyId` int(11) DEFAULT NULL,
      `description` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
      PRIMARY KEY (`birdId`),
      UNIQUE KEY `scientificName` (`scientificName`)
    ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
    1 row in set (0.000 sec)
    
    ERROR: No query specified
  • 相关阅读:
    20个软件开发常用设计文档大全下载
    php短信接口(基于商麦无限)
    PHP与ajax,无刷新表单提交
    解决GD中文乱码问题
    php中json_decode()和json_encode()的使用方法
    一些页面自动跳转的实现
    已损坏文档修复
    php中从结果集获取一条数据和所有数据的方法函数
    VIM 用法小记
    PHP与JavaScript下的Cookie操作
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/14044710.html
Copyright © 2011-2022 走看看