JAVA小白学习日记Day13

MYSQL基础

创建数据库和表格

CREATE DATABASE easydata;: 创建一个名为 easydata 的数据库。

CREATE TABLE staff: 在当前数据库中创建一个名为 staff 的表格。

字段声明: 定义了表格中的各个字段,包括 id、code、name 和 salary,其中 id 是主键,并且设置为自动递增,code 和 name 为必填字段,salary 是一个存储小数的字段。

重命名表格

ALTER TABLE staff RENAME TO t_staff;

ALTER TABLE t_staff RENAME AS staff;

ALTER TABLE RENAME: 将表格 staff 重命名为 t_staff,然后再将其重新命名为 staff。

设置编码

ALTER TABLE staff CHARACTER SET utf8mb3;

ALTER TABLE CHARACTER SET: 设置表格 staff 的字符集为 utf8mb3,用于支持不同语言字符的存储。

-- 不同的字符占用的空间时不一样的

-- 数字,字母,欧洲部分语言字符占一个字节

-- 中东,阿拉伯语言占两个字节

-- 中文,韩文,日文,东南亚地区字符占三个字节

添加、修改、重新定义和删除列

ALTER TABLE staff ADD COLUMN sex VARCHAR(2);

ALTER TABLE staff MODIFY sex VARCHAR(20) NOT NULL;

ALTER TABLE staff MODIFY sex VARCHAR(20) NOT NULL AFTER name;

ALTER TABLE staff CHANGE sex age int NOT NULL;

ALTER TABLE staff DROP COLUMN age;

ALTER TABLE ADD COLUMN: 在 staff 表格中添加一个 sex 字段。

ALTER TABLE MODIFY: 修改 sex 字段的定义,将其长度修改为 20,并设置为不可为空。

AFTER: 将 sex 字段的位置调整到 name 字段之后。

CHANGE: 将 sex 字段改名为 age,同时修改其类型为 int。

DROP COLUMN: 删除 age 字段。

使用反引号标识符

CREATE TABLE `table` (

`varchar` VARCHAR(20)

);

反引号: 反引号 ( ) 在SQL中用于标识可能与SQL关键字冲突或包含特殊字符的列名或表名,例如在这里用于创建名为 table 的表格,并且有一个列名为 varchar 的字段。

删除表格

DROP TABLE `table`;

DROP TABLE: 删除名为 table 的表格。

sql 复制代码
-- 注释(带空格)
#注释
-- 创建数据库
CREATE DATABASE easydata;
-- 表是数据库中存数据的主题
-- 创建表  表明 t_user user 
CREATE TABLE staff (
-- 声明表中字段
-- 主键,表中数据的唯一的标识,不可重复,不可为null
-- auto_increment在插入数据时,该列的值可以不指定,会自动递增
id int auto_increment PRIMARY KEY,
-- VARCHAR(最大长度) 可变字符串类型
code VARCHAR(20) NOT NULL,
name VARCHAR(20) NOT NULL,
-- 数值一共存储10位,其中两位用来存储小数
salary DECIMAL(10,2)
)
-- 重命名表
ALTER TABLE staff RENAME TO t_staff;
ALTER TABLE t_staff RENAME AS staff;
-- 设置编码
-- mysql8  utf8  mb3和mb4  maxbyte
-- 不同的字符占用的空间时不一样的
-- 数字,字母,欧洲部分语言字符占一个字节
-- 中东,阿拉伯语言占两个字节
-- 中文,韩文,日文,东南亚地区字符占三个字节
ALTER TABLE staff CHARACTER SET utf8mb3;
-- 添加列
ALTER TABLE staff ADD COLUMN sex VARCHAR(2)
-- 重新定义列
ALTER TABLE staff MODIFY sex VARCHAR(20) NOT NULL;
-- 定义列的位置
ALTER TABLE staff MODIFY sex VARCHAR(20) NOT NULL AFTER name ;
-- 重命名列
ALTER TABLE staff CHANGE sex age int NOT NULL;
-- 删除列
ALTER TABLE staff DROP COLUMN age ;
-- 在起 列名,表名时经常会用到一些关键字 name 使用 ``标识
CREATE TABLE `table` (
`varchar` VARCHAR(20)
)
-- 删除表
DROP TABLE `table` ;
相关推荐
l1t1 分钟前
利用DeepSeek优化SQLite求解数独SQL用于DuckDB
开发语言·数据库·sql·sqlite·duckdb
lcanfly5 分钟前
Mysql作业5
android·数据库·mysql
rit84324999 分钟前
在Ubuntu上配置Nginx实现开机自启功能
数据库·nginx·ubuntu
海绵啵啵呀38 分钟前
SQL plus中解决上下键找历史命令的工具--rlwrap命令行工具
数据库·sql
Elastic 中国社区官方博客42 分钟前
使用 Mastra 和 Elasticsearch 构建具有语义回忆功能的知识 agent
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
老邓计算机毕设1 小时前
SSM危险品运输车辆信息管理系统b2z1o(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·ssm 框架
MuYiLuck1 小时前
redis持久化与集群
java·数据库·redis
卓码软件测评1 小时前
软件数据库测试:【数据库质量保障:从单元测试到性能优化】
运维·数据库·测试用例·压力测试
LilySesy1 小时前
ABAP+在select的时候,可以A=B A=C B=C这样子JOIN吗?
数据库·sql·ai·excel·sap·abap
升鲜宝供应链及收银系统源代码服务2 小时前
升鲜宝生鲜配送供应链管理系统--- 《多语言商品查询优化方案(Redis + 翻译表 + 模糊匹配)》
java·数据库·redis·bootstrap·供应链系统·生鲜配送·生鲜配送源代码