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) ,      
);
相关推荐
香蕉大香蕉(06敬畏市场)17 分钟前
MySQL 单点详解(06)
java·数据库·mysql·博客·实习
CodeHackerBhx19 分钟前
MySQL 迁达梦踩坑实录:FIND_IN_SET、timestamp(6) 和一整批要改的函数
数据库·mysql·达梦·信创·数据库迁移
n 55!w !10830 分钟前
MySQL笔记整理2
数据库·笔记·mysql
aiks_yuan34 分钟前
MySQL 批量插入很慢怎么办:rewriteBatchedStatements 实测 10 万行从 4.5 秒到 1 秒(JDBC、MyBatis、LOAD DATA 对比)
mysql
用户60709759149061 小时前
AOSP 14 OTA 升级指导(三):三条升级链路——Java API、自研 HAL 与 TR069
android
freejackman1 小时前
【架构篇】双遍历 + 多栈协同:手撸 SQL 血缘引擎的架构思考
java·大数据·数据库·hive·sql·架构·spark
企业数字化笔记1 小时前
业务单据怎样接入流程中心?启动条件、实例关联与失败回退
java·spring boot·mysql
betazhou1 小时前
MySQL Oracle官方备份工具
数据库·mysql·oracle
一万年太久。2 小时前
mysql主从复制
数据库·mysql
前端小D2 小时前
React Native Android 项目搭建
android·react native·react.js