MySQL中表操作

创建表

语法:

示例:创建一个名字为student的学生表,表中包含两个字段,id表示编号,name表示名字,长度为50

sql 复制代码
create table student (
	id bigint,
    name varchar(50)
);

复制表结构

根据已有表(student)的结构,创建一个一模一样的新表(student1)

sql 复制代码
create table student1 like student;

查看当前数据库所有表

sql 复制代码
show tables;

在创建后可以查看所有的表,来看是否创建成功

查看表的结构

sql 复制代码
desc 表明

命令行客户端工具,只适合执行一些简单的查询或指令,如果说要编写一些复杂的SQL,比如表设计,复杂查询,建议使用可视化工具

在命令行中执行.sql文件

在编译器中把SQL编辑好,保存为一个本地.sql文件,输入source或者简写\.加上.sql文件的路径

创建表和创建数据库一样,也可以加入校验

sql 复制代码
create table if not exists test(id bigint);

如果保存在就是会生成以一个警告信息

删除表

总结

  1. show tables;查看当前数据库的所有表
  2. create table 表名(字段 数据类型 comment '注解'); 创建表
  3. desc 表名; 查看表结构
  4. drop table [if exists] 表名; 删除表

创建表实例

  • 创建⼀个store数据库,⽤来管理商店的商品、顾客和订单数据,这个数据库有以下三个表组成:

  • 商品表:表名为goods,表中包含的列如下:

    列名 类型 描述
    id bigint 商品编号
    name varchar(50) 商品名
    unitprice decimal(12, 2) 零售单价
    costprice decimal(12, 2) 成本价
    category varchar(20) 商品类型
    provider varchar(50) 供应商
  • 客户表:表名为customer,表中包含的列如下:

    列名 类型 描述
    id bigint 客⼾编号
    name varchar(20) 客⼾姓名
    gende bool 性别
    phone_num varchar(20) 电话号码
    email varchar(50) 电⼦邮件
    address varchar(255) 地址
    create_time datetime 注册时间
  • 购买记录表:表名为purchase,表中包含的列如下:

    列名 类型 描述
    order_id varchar(32) 订单编号
    customer_id bigint 客⼾编号
    goods_id bigint 商品编号
    nums int 购买商品数量
    amount decimal(12, 2) 总⾦额
    create_time datetime 订单⽣成时间
    sql 复制代码
    -- 商品表
    drop table if exists goods;
    create table goods(
    	id bigint comment '商品编号',
        name varchar(50) comment '商品名',
        unitprice decimal(12,2) comment '零售单价',
        costprice decimal(12,2) comment '成本价',
        category varchar(50) comment '供应商',
    );
    
    -- 客户表
    drop  table if exists customer;
    create table customer(
    	id bigint comment '客户编号',
        name varchar(20) comment '客户姓名',
        gender bool comment '性别',
        phone_num varchar(20) comment '电话号码',
        email varchar(20) comment '电子邮件',
        address varchar(255) comment '地址',
        create_time datetime comment '注册时间'
    );
    
    -- 购买记录表
    drop  table if exists purchase;
    create tabel purchase(
    	order_id varchar(32) comment '订单编号',
    	customer_id bigint comment '客户编号',
        goods_id bigint comment '商品编号',
        nums int comment '购买商品数量',
        amount decimal(12,2) comment '总金额',
        create_time datetime comment '订单生成时间'
    );
sql 复制代码
-- 老师表
drop table if exists teachars;
create table teachars(
	name varchar(20),
    age int,
    heighth int,
    weight int,
    gender bool,
    education varchar(20),
    birthday datetime,
    id varchar(20)
);

-- 图书表
CREATE TABLE books (
    book_name VARCHAR(200),    
    book_author VARCHAR(100),      
    book_price DECIMAL(8,2),        
    book_category VARCHAR(50) ,      
);
相关推荐
佛系打工仔12 小时前
绘制K线第二章:背景网格绘制
android·前端·架构
Knight_AL15 小时前
Spring 事务传播行为 + 事务失效原因 + 传播行为为什么不用其他模式
数据库·sql·spring
my_power52015 小时前
车载安卓面试题汇总
android
csj5015 小时前
安卓基础之《(15)—内容提供者(1)在应用之间共享数据》
android
yeziyfx16 小时前
kotlin中 ?:的用法
android·开发语言·kotlin
刀法如飞16 小时前
开箱即用的 DDD(领域驱动设计)工程脚手架,基于 Spring Boot 4.0.1 和 Java 21
java·spring boot·mysql·spring·设计模式·intellij-idea
zbguolei16 小时前
MySQL根据身份证号码计算出生日期和年龄
数据库·mysql
2501_9159184117 小时前
只有 Flutter IPA 文件,通过多工具组合完成有效混淆与保护
android·flutter·ios·小程序·uni-app·iphone·webview
软件派17 小时前
高斯数据库使用心得——从性能优化到行业实践的深度解析
数据库·oracle
robotx17 小时前
AOSP 设置-提示音和振动 添加一个带有开关(Switch)的设置项
android