欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

sql数据库(2) — 数据表的操作

程序员文章站 2022-03-03 21:36:13
...
-- 数据表的操作

    -- 查看当前数据库中所有表
    show tables;


    -- 创建表
    -- auto_increment表示自动增长
    -- not null 表示不能为空
    -- primary key 表示主键
    -- default 默认值
    -- create table 数据表名字 (字段 类型 约束[, 字段 类型 约束]);
    create table xxxxx(id int, name varchar(30));
    create table yyyyy(id int primary key not null auto_increment, name varchar(30));
    create table zzzzz(
        id int primary key not null auto_increment,
        name varchar(30)
    );

    -- 查看表结构
    -- desc 数据表的名字;
    desc xxxxx;

    -- 创建students表(id、name、age、high、gender、cls_id)
    create table students(
        id int unsigned not null auto_increment primary key,
        name varchar(30),
        age tinyint unsigned default 0,
        high decimal(5,2),
        gender enum("男", "女", "中性", "保密") default "保密",
        cls_id int unsigned
    );

        +--------+-------------------------------+------+-----+---------+----------------+
        | Field  | Type                          | Null | Key | Default | Extra          |
        +--------+-------------------------------+------+-----+---------+----------------+
        | id     | int(10) unsigned              | NO   | PRI | NULL    | auto_increment |
        | name   | varchar(30)                   | YES  |     | NULL    |                |
        | age    | tinyint(3) unsigned           | YES  |     | 0       |                |
        | high   | decimal(5,2)                  | YES  |     | NULL    |                |
        | gender | enum('男','女','中性','保密') | YES  |     | 保密    |                |
        | cls_id | int(10) unsigned              | YES  |     | NULL    |                |
        +--------+-------------------------------+------+-----+---------+----------------+

    insert into students values(0, "老王", 18, 188.88, "男", 0);

    -- 查看students表中插入的数据
    select * from students;
        +----+------+------+--------+--------+--------+
        | id | name | age  | high   | gender | cls_id |
        +----+------+------+--------+--------+--------+
        |  1 | 老王 |   18 | 188.88 ||      0 |
        +----+------+------+--------+--------+--------+

    -- 创建classes表(id、name)
    create table classes(
        id int unsigned not null auto_increment primary key,
        name varchar(30)
    );

    insert into classes values(0, "python04大神");
    select * from classes;

    -- 查看表的创建语句
    -- show create table 表名字;
    show create table students;


    -- 修改表-添加字段
    -- alter table 表名 add 列名 类型;
    alter table students add birthday datetime;


    -- 修改表-修改字段:不重命名版
    -- alter table 表名 modify 列名 类型及约束;
    alter table students modify birthday date;


    -- 修改表-修改字段:重命名版
    -- alter table 表名 change 原名 新名 类型及约束;
    alter table students change birthday birth date default "2000-01-01";


    -- 修改表-删除字段
    -- alter table 表名 drop 列名;
    alter table students drop high;


    -- 删除表
    -- drop table 表名;
    -- drop database 数据库;
    -- drop table 数据表;
    drop table xxxxx;