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) ,      
);
相关推荐
l1t34 分钟前
利用DeepSeek优化SQLite求解数独SQL用于DuckDB
开发语言·数据库·sql·sqlite·duckdb
Android疑难杂症35 分钟前
鸿蒙Notification Kit通知服务开发快速指南
android·前端·harmonyos
lcanfly38 分钟前
Mysql作业5
android·数据库·mysql
海绵啵啵呀1 小时前
SQL plus中解决上下键找历史命令的工具--rlwrap命令行工具
数据库·sql
进阶的小叮当2 小时前
Vue代码打包成apk?Cordova帮你解决!
android·前端·javascript
LilySesy2 小时前
ABAP+在select的时候,可以A=B A=C B=C这样子JOIN吗?
数据库·sql·ai·excel·sap·abap
许愿OvO3 小时前
MySQL-索引
数据库·mysql
-指短琴长-3 小时前
MySQL快速入门——基本查询(上)
android·数据库·mysql
凌波粒3 小时前
MyBatis完整教程IDEA版(3)--动态SQL/MyBatis缓存
sql·intellij-idea·mybatis
Yeats_Liao3 小时前
时序数据库系列(四):InfluxQL查询语言详解
数据库·后端·sql·时序数据库