Mysql基础语法

创建数据库

基础语法:CREATE DATABASE data_name;
data_name: 数据库名称
例:
在这里插入图片描述

查看已有的库

SHOW DATABASES;
在这里插入图片描述

删除数据库

语法:DROP DATABASE data_name; data_name: 数据库名称

创建表

选择数据库 : use test;
创建表 : CREATE TABLE table_name(column_name column_type)
CREATE TABLE IF NOT EXISTSorder_info(idINT UNSIGNED AUTO_INCREMENT COMMENT "主键",order_nameVARCHAR(50) NOT NULL COMMENT "商品名称",create_timedatetime DEFAULT NULL COMMENT "创建时间", PRIMARY KEY(id) )ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT "测试表";
说明
AUTO_INCREMENT:自增属性,一般用于主键,数值会自动加1。
NULL: 代表字段的值可以为null,若不想字段为null可以设置为 NOT NULL。
PRIMARY KEY:定义某一列为主键,多个可以用逗号隔开
ENGINE:设置存储引擎
CHARSET: 设置字符集
COMMENT:注释
在这里插入图片描述

查看已创建的表SHOW TABLES;
在这里插入图片描述

修改表名

语法:ALTER TABLE <old_name> RENAME [TO] <new_name>;
TO 为可选参数,使用与否均不影响结果。
ALTER TABLE order_info RENAME TOorder;``
在这里插入图片描述

修改表的字符集

语法:ALTER TABLE 表名 [DEFAULT] CHARACTER SET <字符集名> [DEFAULT] COLLATE <校对规则名>;
将order 表的字符集修改为utf8mb4 规则修改为utf8mb4_general_ci;
例如:ALTER TABLEorderCHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;
查看是否已修改:SHOW CREATE TABLEorder;
在这里插入图片描述

表添加字段

查看表结构

DESC table_name;
在这里插入图片描述

在最后一列添加字段

语法:ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件];
ALTER TABLEorderADD price DECIMAL(5,2) COMMENT "价格";
在这里插入图片描述

在第一列添加字段

语法:ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] FIRST;
ALTER TABLEorderADD order_id INT COMMENT "id" FIRST;
在这里插入图片描述

在指定的字段后添加字段

语法:ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] AFTER <已经存在的字段名>;
注意: 只能在某个已有字段的后面添加新字段,不能在它的前面添加新字段。
ALTER TABLEorderADD status CHAR AFTER order_name;
在这里插入图片描述

修改字段名称

语法:ALTER TABLE <table_name> CHANGE <旧字段名> <新字段名> <新数据类型>;

  • 旧字段名称 修改前的字段名
  • 新字段名称:修改后的字段名
  • 新数据类型: 指修改后的数据类型,如果不需要修改字段的数据类型,可以将新数据类型设置与原来一样,但数据类型不能为空
    ALTER TABLEorderCHANGE order_id orderId INT;
    在这里插入图片描述

修改字段数据类型

语法:ALTER TABLE <表名> MODIFY <字段名> <数据类型>
字段名:指需要修改的字段;
数据类型:指修改后字段的新数据类型。
ALTER TABLEorderMODIFY orderId BIGINT;
在这里插入图片描述

删除字段

ALTER TABLE <表名> DROP <字段名>;
ALTER TABLEorderDROP orderId;
在这里插入图片描述

删除数据表

DROP TABLE [IF EXISTS] table_name [,table_name2,table_name3]

清空表记录

TRUNCATE TABLE table_name

TRUNCATE 和 DELETE 的区别

  1. DELETE是DML类型的语句;TRUNCATE是DDL类型的语句,两者都是用来清空表中的数据。
  2. DELETE是逐行一条一条的删除记录的,TRUNCATE则是直接删除原来的表,再重新后创建一个一模一样的新表,而不是逐行删除表中的数据,执行数据比DELETE快。
  3. DELETE 删除数据后,配合事务回滚可以找回数,TRUNCATE不支持事务的回滚,数据删除后无法找回。
  4. DELETE删除数据后,系统不会重新设置自增字段的计数器;TRUNCATE清空表记录后,系统会重新设置自增字段的计数器。
  5. DELETE 可以通过WHERE子语句指定的条件来删除部分数据;TRUNCATE 不支持WHERE字句只能删除整体,

当不需要该表时,用DROP;当需要保留该表,弹药清空所有记录时用 TRUNCATE;只删除部分数据使用 DELETE

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值