zoukankan      html  css  js  c++  java
  • Mysql-表的基本操作

    一 、存储引擎介绍

    存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制

    详见:http://www.cnblogs.com/ManyQian/p/9008207.html

    二 、表介绍

    表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段

    id,name,qq,age称为字段,其余的,一行内容称为一条记录

    三 、创建表

    #语法:
    create table 表名(
    字段名1 类型[(宽度) 约束条件],
    字段名2 类型[(宽度) 约束条件],
    字段名3 类型[(宽度) 约束条件]
    );
    
    #注意:
    1. 在同一张表中,字段名是不能相同
    2. 宽度和约束条件可选
    3. 字段名和类型是必须的
    语法与注意点
    MariaDB [(none)]> create database db1 charset utf8;
    
    MariaDB [(none)]> use db1;
    
    MariaDB [db1]> create table t1(  
        -> id int, 
        -> name varchar(50),
        -> sex enum('male','female'),
        -> age int(3)
        -> );
    
    MariaDB [db1]> show tables; #查看db1库下所有表名
    
    MariaDB [db1]> desc t1;
    +-------+-----------------------+------+-----+---------+-------+
    | Field | Type                  | Null | Key | Default | Extra |
    +-------+-----------------------+------+-----+---------+-------+
    | id    | int(11)               | YES  |     | NULL    |       |
    | name  | varchar(50)           | YES  |     | NULL    |       |
    | sex   | enum('male','female') | YES  |     | NULL    |       |
    | age   | int(3)                | YES  |     | NULL    |       |
    +-------+-----------------------+------+-----+---------+-------+
    
    MariaDB [db1]> select id,name,sex,age from t1;
    Empty set (0.00 sec)
    
    MariaDB [db1]> select * from t1;
    Empty set (0.00 sec)
    
    MariaDB [db1]> select id,name from t1;
    Empty set (0.00 sec)
    表的基本操作
    MariaDB [db1]> insert into t1 values
        -> (1,'qian',18,'male'),
        -> (2,'ze',81,'female')         #这里不能加,号
        -> ; 
    MariaDB [db1]> select * from t1;
    +------+------+------+--------+
    | id   | name | age  | sex    |
    +------+------+------+--------+
    |    1 | qian |   18 | male   |
    |    2 | liang |   81 | female |
    +------+------+------+--------+
    
    
    
    MariaDB [db1]> insert into t1(id) values 
        -> (3),
        -> (4);
    MariaDB [db1]> select * from t1;
    +------+------+------+--------+
    | id   | name | age  | sex    |
    +------+------+------+--------+
    |    1 | qian |   18 | male   |
    |    2 | liang |   81 | female |
    |    3 | NULL | NULL | NULL   |
    |    4 | NULL | NULL | NULL   |
    +------+------+------+--------+
    表中插入数据

    注意注意注意:表中的最后一个字段不要加逗号 

    四 、查看表结构

    MariaDB [db1]> describe t1; #查看表结构,可简写为desc 表名
    +-------+-----------------------+------+-----+---------+-------+
    | Field | Type                  | Null | Key | Default | Extra |
    +-------+-----------------------+------+-----+---------+-------+
    | id    | int(11)               | YES  |     | NULL    |       |
    | name  | varchar(50)           | YES  |     | NULL    |       |
    | sex   | enum('male','female') | YES  |     | NULL    |       |
    | age   | int(3)                | YES  |     | NULL    |       |
    +-------+-----------------------+------+-----+---------+-------+
    
    
    MariaDB [db1]> show create table t1G; #查看表详细结构,可加G
    describe 可以简写desc

    五 、数据类型

    http://www.cnblogs.com/ManyQian/p/9010483.html

    六 、表完整性约束

    http://www.cnblogs.com/ManyQian/p/9010628.html

    七、 修改表ALTER TABLE

    语法:
    1. 修改表名
          ALTER TABLE 表名 
                              RENAME 新表名; rename
    
    2. 增加字段
          ALTER TABLE 表名
                              ADD 字段名  数据类型 [完整性约束条件…],
                              ADD 字段名  数据类型 [完整性约束条件…];
          ALTER TABLE 表名
                              ADD 字段名  数据类型 [完整性约束条件…]  FIRST;
          ALTER TABLE 表名
                              ADD 字段名  数据类型 [完整性约束条件…]  AFTER 字段名;
                                
    3. 删除字段
          ALTER TABLE 表名 
                              DROP 字段名;
    
    4. 修改字段
          ALTER TABLE 表名 
                              MODIFY  字段名 数据类型 [完整性约束条件…];
          ALTER TABLE 表名 
                              CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];
          ALTER TABLE 表名 
                              CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];
    修改的具体操作

    八 、复制表

    复制表结构+记录 (key不会复制: 主键、外键和索引)
    mysql> create table new_service select * from service;
    
    只复制表结构
    mysql> select * from service where 1=2;        //条件为假,查不到任何记录
    Empty set (0.00 sec)
    mysql> create table new1_service select * from service where 1=2;  
    Query OK, 0 rows affected (0.00 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> create table t4 like employees;
    复制操作

    九 、删除表

    drop table 表名;

  • 相关阅读:
    [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySQL+PHP) Part IV
    [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySQL+PHP) Part III
    [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySql+PHP) Part II
    [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySql+PHP) Part I
    [C#] Extension Method 扩展方法
    [IIS] eset/Restart/Recycling/Refresh 的区别
    CSOM:服务器不允许将邮件大于 2097152 字节
    6条可以成为更好程序员的建议
    2019 就要到了,拥抱 Or 抛弃 sharepoint 开发?
    解耦UI层-可维护的Javascript 编写指南
  • 原文地址:https://www.cnblogs.com/ManyQian/p/9008117.html
Copyright © 2011-2022 走看看