MySQL第一章 创建数据库及数据表 ② 代码

2023-10-31

MySQL第一章 创建数据库及数据表 ② 代码

创建表

本文数据库名以MySQL为例,表格名以Student1、Student2为例。具体可以根据自己的爱好或需要,创建自己的数据库和表格的名称。

方式一 (手动点击创建)

1.连接MySQL

先连接MySQL,输入“连接名”、“密码”(其他选项默认即可!):
在这里插入图片描述
如果之前安装过MySQL,密码忘记了,请参考:MySQL 修改登录密码(点击前往观看)
在这里插入图片描述

2.创建数据库

右键点击MySQL,选择创建数据库。。
在这里插入图片描述
在这里插入图片描述

utf8mb4 -- UTF-8 Unicode
utf8mb4_general_ci

点击确定,名为YZH70713的数据库就创建完成了。
在这里插入图片描述

3.创建Student1表格

接下来,创建名为Student1的表。点击工具栏中的新建表(自己摸索工具栏红框标记的功能):
在这里插入图片描述
创建出表的简单模板效果:
在这里插入图片描述
对表格中的数据类型进行说明:
在这里插入图片描述
表格创建好之后,点击保存。输入表名(例:Student1),点击确定!
在这里插入图片描述
在这里插入图片描述

4.编辑表格中的数据内容

根据红色方框提示内容操作,最后点击保存,这样表格就创建好了。
在这里插入图片描述

方式二 (代码编写创建)

注意:创建“ 查询链接 ”时要分清数据库的层次

1.在MySQL(一级数据库)中新建查询链接

首先选择MySQL,点击工具栏中的“ 新建查询 ”,然后点击保存,填写查询连接名称,点击确定。
在这里插入图片描述
补充:(帮助理解)
在这里插入图片描述

2.在(一级数据库)查询链接中创建数据库(二级数据库)

找到我们新建的名为yzh70713(4)的查询链接,然后双击打开进行编辑。
在这里插入图片描述
修改字体大小并创建名为”70713_db4“的数据库:
在这里插入图片描述
然后选中要运行的代码块,右键单击选择”运行选中的代码块“。
在这里插入图片描述
在这里插入图片描述
如何关闭提示信息:参考:Navicat报错[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clauseand contains nonaggr
在这里插入图片描述
关闭再打开即可查看我们建立的数据库。
在这里插入图片描述

3.在新建的yzh70713_db4数据库(二级数据库)中创建mysql查询链接

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.在(二级数据库)mysql查询链接中创建表

在这里插入图片描述
打开我们新建的表,可以进行编辑。
在这里插入图片描述

1.添加数据

在这里插入图片描述
在这里插入图片描述

2.查询数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.修改数据

在这里插入图片描述
在这里插入图片描述

4.刷新数据

在这里插入图片描述
在这里插入图片描述

5.刷新数据

在这里插入图片描述

6.注意

当我们编写代码创建表时,数据类型编写不合适(不是我们需要的数据类型),需要删除表格,重新生成表格进行填充数据。不删除表格的话,无法填写合适的数据类型
在这里插入图片描述

5.代码如下

创建数据库代码如下:

#创建数据库
create database 70713_db4
default character set utf8mb4 #设置字符集
default collate utf8mb4_general_ci #设置排序规则 

创建表代码如下:

#写创建表的sql语句
create table student2
(
	id int comment '学号',
	name varchar(10) comment '姓名',
	sex char(1), #性别
	birthday date, -- 生日 (注意:--空格生日)
	tall decimal(3,2) #身高
);

#插入数据
insert into student2
(id,name,sex)
VALUES
(1001,'张三','男');   #数值不加引号,字符串和日期都要加单引号

insert into student2
(id,name,sex,birthday,tall)
values
(1002,'李四','女','1990-01-10',1.6);

#查询数据
select id,name from student2;

select id,name,sex,birthday,tall from student2;

select * from student2;

select * from student2 where name='张三';

#修改数据
update student2
set birthday='1999-01-01',
				tall='1.7',
				sex='女'
where id='1001';

#删除数据
delete from student2 where id='1001';

6.演练 作业

1、创建学员系统的数据库 school_db
2、创建学员信息表 student
字段:编号、名字、性别、家庭住址、电话、入学日期、出生日期、班级
创建数据库代码如下:

#创建数据库
create database school_db
default character set utf8mb4 #设置字符集
default collate utf8mb4_general_ci #设置排列规则

在这里插入图片描述

创建表代码如下:

#创建表 #编号、名字、性别、家庭住址、电话、入学日期、出生日期、班级
create table student
(
	id int comment '编号',
	name varchar(10) comment '名字',
	sex char(1) comment '性别',
	address varchar(100) comment '家庭住址', 
	phoneNumber varchar(12), #电话
	riqi date, #入学日期
	birthday date, #生日
	class int #班级
);

#添加数据
insert into student
(id,name,sex,address,phoneNumber,riqi,birthday,class)
values
(101,'小明','男','河南省郑州市','12345678901','2022-01-01','1993-01-01',5);

在这里插入图片描述
为何varchar要+1,请参考:第一章 创建数据库及数据表 ① 笔记 3.5.4 字符串(char,varchar,text)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

7.课前测试

在这里插入图片描述
在这里插入图片描述
创建goodsdb数据库:

#创建数据库
create database goodsdb
default character set utf8mb4 
default collate utf8mb4_general_ci 

创建goods表:

#创建表
create table goods
(
	goodsId int comment '商品编号',
	goodsName varchar(100) comment '商品名称',
	price decimal(5,1) comment '有效位数5,小数位1',
	produceDate date comment '生产日期',
	address varchar(100) comment '产地'
);

#添加数据
insert into goods
(goodsId,goodsName,price,produceDate,address)
values
(1,'冰红茶',3.5,'2018-03-22','郑州');

insert into goods
(goodsId,goodsName,price,produceDate,address)
values
(2,'可口可乐',2.5,'2018-01-23','郑州');

insert into goods
(goodsId,goodsName,price,produceDate,address)
values
(3,'面包',5.0,'2018-07-1','洛阳');

insert into goods
(goodsId,goodsName,price,produceDate,address)
values
(4,'牙刷',4.5,'2018-06-01','洛阳');

8.简便用法

#创建表
create table goods
(
	goodsId int,
	goodsName varchar(200),
	price decimal(5,1),
	produceDate date,
  address varchar(200)
)

#插入数据
#1.指定列名插入,要求列和值的个数要匹配 into可写可不写
insert goods  
(goodsId,goodsName,price,produceDate,address)
VALUE
(1003,'方便面3',2.5,'2000-01-01',null)
#2.省略列名插入(每个列必须提供值)
insert goods
VALUE
(1004,'方便面4',2.5,'2000-09-09','山东')

#3.批量插入 insert [into]...VALUES...,...,
insert  goods
(goodsId,goodsName,price,produceDate,address)
VALUES
(1007,'方便面7',3.5,'2009-01-01','河南'),
(1008,'方便面8',3.5,'2009-01-01','河南')

#4.批量插入 insert [into] select .. union(去除重复数据)
#            insert [into] select .. union all (不会去重)
insert goods
(goodsId,goodsName,price,produceDate,address)
#select 可以查询数据,也可以拼接数据
select 1009,'方便面9',4.5,'2010-01-01','合肥' UNION
select 1010,'方便面10',5.5,'2011-01-01','安徽'


insert goods
(goodsId,goodsName,price,produceDate,address)
#select 可以查询数据,也可以拼接数据
select 1011,'方便面11',4.5,'2010-01-01','合肥' union all
select 1012,'方便面12',5.5,'2011-01-01','安徽' union all
select 1012,'方便面12',5.5,'2011-01-01','安徽' 

update goods
set price = 0.1
where goodsId = 1111

delete from goods 
where goodsId = 1111

select * from goods

#用`限定特殊关键字
create table `0714 tab`
(
	id int,
  name varchar(20)
)

select * from `0714 tab`

#查看实际的建表语句
show create table goods;

CREATE TABLE `goods` (
  `goodsId` int(11) DEFAULT NULL,
  `goodsName` varchar(200) DEFAULT NULL,
  `price` decimal(5,1) DEFAULT NULL,
  `produceDate` date DEFAULT NULL,
  `address` varchar(200) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci


#select union 用于拼接不同表中的数据
student 
  stuId,name,sex,
teacher
  tid,name,sex,

select name,sex from student UNION
select name,sex from teacher 

======================

#查看当前服务器上的数据库
show databases;

#查看当前数据库中的表
show tables;

#查看表结构
desc goods;

#查看数据库配置的相关变量信息
show variables like '%engine%';

1.省略列名插入(每个列必须提供值)
2.批量插入 insert [into]…VALUES…,…,

在这里插入图片描述
在这里插入图片描述

3.批量插入 insert [into] select … union(去除重复数据) insert [into] select … union all (不会去重)

在这里插入图片描述

在这里插入图片描述

4.使用select * from XXX可以在本页面直观的观看数据的变动情况

在这里插入图片描述

5.查看当前mysql默认引擎

在这里插入图片描述
在这里插入图片描述

6.查看mysql支持哪些引擎

在这里插入图片描述

7.查看当前服务器上的数据库

在这里插入图片描述

8.查看当前服务器上的表

在这里插入图片描述

9.查看表结构

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL第一章 创建数据库及数据表 ② 代码 的相关文章

  • 使用 Spring Data REST 处理自定义异常 (i18n)

    我正在使用 Spring Boot 1 5 4 和 Spring JPA Spring Data REST HATEOAS 我正在寻找一种最佳实践 Spring 方式 来自定义异常 Spring Data REST 正在管理添加 i18n
  • 使用 jpql 和 jpa 从日期字段中提取年份

    我想从数据库中的一行中提取年份部分 以便将其与值进行比较 这是我的功能 public List
  • 如何测试调用父类的受保护(不需要的)方法的方法?

    我陷入了一个非常奇怪的情况 我有一些需要测试的特定代码 这里是 public class A The real method of real class is so big that I just don t want to test it
  • @OneToMany 与 @JoinTable 错误

    我试图理解 OneToMany with JoinTable 对于这样的场景 我正在使用 JPA 2 1 Hibernate 5 0 4 和 Oracle 11 XE 当我打电话时userDao save user 下面的代码 我有 jav
  • 哈希码是否用于加速集合中的对象查找?

    IIUC 相同类型的两个不同对象可以存储在 HashSet 中 即使两个对象在以下情况下返回相同的值 hashCode 叫做 例如根据本文 https eclipsesource com blogs 2012 09 04 the 3 thi
  • 用 java 编写解释器时的 switch 或 if 语句

    当前的作业需要我编写一个程序 以一种非常微小且基本的编程语言 行为有点像 FORTRAN 来读取包含指令的文件并执行这些指令 基本上它是我猜的语言的简单解释器 它是完全线性的 所有语句都是按顺序定义的 并且只有字符串和整数变量 我需要查找和
  • MySQL 错误 1172 - 结果包含多行

    在存储过程中运行查询时 我从 MySQL 收到此错误 错误代码 1172 结果包含多行 我理解错误 我正在做一个SELECT INTO var list 因此查询需要返回单行 当我使用LIMIT 1 or SELECT DISTINCT 错
  • 以编程方式设置 Logback Appender 路径

    我正在尝试以编程方式设置 Logback 附加程序路径 滚动文件附加器 http logback qos ch apidocs ch qos logback core rolling RollingFileAppender html准确地说
  • BlackBerry SQLite:将一个 SQLite 数据库连接到另一个

    我正在尝试使用 SQLite 将一个 SQLite 数据库附加到 BlackBerry 上的另一个数据库附加数据库 http www sqlite org lang attach html命令 Database d1 d2 Statemen
  • C# 中的协变和逆变

    首先我要说的是 我是一名正在学习 C 编程的 Java 开发人员 因此 我会将我所知道的与我正在学习的进行比较 我已经使用 C 泛型几个小时了 我已经能够在 C 中重现我在 Java 中知道的相同内容 除了几个使用协变和逆变的示例 我正在读
  • SimpleDateFormat 将 lenient 设置为 false 时出现异常

    为什么这段代码会抛出无法解析日期的异常 SimpleDateFormat f new SimpleDateFormat yyyy MM dd T HH mm ss 000Z f setLenient false String dateStr
  • 在 eclipse 之外将 Spring MVC 应用程序部署到 tomcat 的幕后会发生什么?

    我猜想使用像 eclipse 这样很棒的 IDE 的一个缺点是你会忽略应用程序幕后发生的事情 我是一名 Ruby 开发人员 所以不是一名 Java 老手 所以我一直在用 java 编写一个项目 并使用 spring 框架进行 IOC 和 M
  • 为什么现在()? (客观化)

    为什么我想要异步加载 Objectify 实体 异步加载到底意味着什么 根据客观化有关加载的文档 https code google com p objectify appengine wiki BasicOperations Loadin
  • 找不到符号assertEquals

    我正在尝试为计算器编写第一个单元测试 但 NetBeans 说它找不到该符号assertEquals和注释 Test 我应该包括一些东西吗 我正在使用 NetBeans 7 3 1 和 W7 package calculator impor
  • 让登录更安全

    我已使用此代码进行管理员登录 仅当用户输入正确的用户名和密码时才应打开loginhome php 但后来我意识到这根本不安全 任何人都可以直接访问 mywebsite loginhome php 而无需登录 注销后 可以使用后退按钮打开 l
  • H2 - (相当)长的 INSERT 失败,错误 42000

    H2 内存中 插入 错误 42000 尝试过版本 1 4 196 1 4 197 1 4 199 我还尝试在 H2 服务器 本地 上执行 INSERT 也失败 给出错误的行 抱歉 但出于安全原因 我无法生成更多 INSERT INTO tb
  • 如何在 SEQUELIZE (nodeJS) 中创建触发器?

    我正在尝试使用sequelize 创建一个触发器 主要思想是创建一个实例CONFIG创建后USER USER MODEL module exports function sequelize DataTypes var User sequel
  • PHP MySql 百分比

    我的问题是关于百分比 我不是专家 所以我会尽力以更好的方式进行解释 我的 mysql 服务器中有一个表 假设有 700 条记录 如下所示 Name country language Birth Lucy UK EN 1980 Mari Ca
  • H2 用户定义的聚合函数 ListAgg 不能在第一个参数上使用 DISTINCT 或 TRIM()

    所以我有一个 DB2 生产数据库 我需要在其中使用可用的函数 ListAgg 我希望使用 H2 的单元测试能够正确测试此功能 不幸的是H2不直接支持ListAgg 但是 我可以创建一个用户定义的聚合函数 import java sql Co
  • Integer.parseInt 引发的 NumberFormatException

    嘿 我在学校上编码课 但老师没有很好地解释 所以我们必须在网上查找我所做的信息 但我无法找到代码中的错误 你能帮我吗 char end s do System out println Tipo de boleto char boleto c

随机推荐

  • Spring_Accepting request input

    Spring MVC provides several ways that a client can pass data into a controller s handler method These include 1 Query pa
  • Python模块和包

    目录 模块 1 1 导 模块 1 1 1 导 模块的 式 1 1 2 导 式详解 1 2 制作模块 1 2 1 定义模块 1 2 2 测试模块 1 2 3 调 模块 1 2 4 注意事项 1 3 模块定位顺序 1 4 all 包 2 1 制
  • Java项目:二手图书商城平台(java+SSM+JSP+JS+jquery+Mysql)

    源码获取 俺的博客首页 资源 里下载 项目介绍 用户角色包含以下功能 用户登录 查看商品详情 按分类查看 查看我的书架 上传二手书等功能 PS 这个没有管理员角色 环境需要 1 运行环境 最好是java jdk 1 8 我们在这个平台上运行
  • windows安装基于Apache的SVN服务器(包括SSL配置)

    原文地址 http bbs iusesvn com thread 158 1 1 html 参考文章 http blog 163 com shihua 23 blog static 23337594201010564847772 翻译整理
  • idea:父工程的pom.xml中的依赖爆红,下载刷新也没反应

    问题 在创建父工程的时候 使用dependencyManagement管理jar包时 发现有些爆红了 此时的版本号是由 和properties属性来维护的 参考备注掉的红色部分 于是去刷新下载 发现没反应 怎么刷新都不下载jar包 这种问题
  • java8 stream().map().collect()用法

    有一个集合 List
  • Java基础13--面向对象:继承

    Java基础13 面向对象 继承 文章目录 Java基础13 面向对象 继承 继承的概念 生活中的继承 类的继承格式 继承类型 继承的特性 继承关键字 extends关键字 implements关键字 super 与 this 关键字 fi
  • Cesium案列学习(Multi-partCZML.html)

    在学习这个案例之前 先花一点时间了解一下什么是CZML CZML Structure AnalyticalGraphicsInc czml writer Wiki github com Cesium Language CZML 入门1 CZ
  • 中国集成电路产业人才供需报告

    导读 集成电路产业是信息产业的核心 更是支撑经济社会发展和保障国家安全的战略性 基础性和先导性产业 中国大陆集成电路产业处于突破技术封锁 攻坚 卡脖子 瓶颈 构筑核心优势的关键窗口期 迫切需要产业领军人才 专业技术人才 基础研究人才等有力支
  • 什么是静态测试?什么是动态测试?

    如果从被测试对象是否被运行的角度来划分 测试可以分为静态测试和动态测试两种 静态测试是指不运行被测试的软件系统 而是采用其他手段和技术对被测试软件进行检测的一种测试技术 例如 代码走读 文档评审 程序分析等都是静态测试的范畴 常用的静态分析
  • Win10安装Linux子系统WSL(ubuntu2204)及图形桌面xfce4

    WSL简介 什么是 WSL 在计算机上使用 Linux 系统通常有两种方式 使用虚拟机或安装 Linux 系统 使用虚拟机时开销较大 直接使用 Linux 系统虽然可以带来流畅体验 但与 Windows 之间来回切换比较麻烦 为此 微软开发
  • [激光原理与应用-47]:《焊接质量检测》-4-普雷茨特激光焊接过程监控系统LWM分析

    目录 第1章 激光焊接过程监控系统LWM概述 第2章 产品特性与功能 2 1 生产相关的信息 2 2 原始信息检测 2 3 焊接质量分析信息 2 4 缺陷报告与生产控制 2 5 LWM给客户带来的好处 2 6 适用范围 2 7 人机界面 H
  • OCX中主Frame中处理view(备用)

    if m ptmpview NULL m ptmpview GetWindow GW CHILD if m ptmpview NULL m ptmpview gt SendMessage WM PAINT CRect rc CRect 0
  • c++,qt 如何动态获取类的字段的名称和数据

    在C 和Qt中 无法直接通过类来动态获取字段的名称和数据 C 是一种静态类型语言 它在编译时需要确定类的结构 包括字段的名称和数据类型 因此 需要在代码中显式地引用字段名称才能访问其数据 然而 你可以使用反射 reflection 库或自定
  • 浏览器跨域问题的总结

    本文主要总结了5中常用的跨域方法 包括JSONP CORS Nginx Proxy与WebSocket 在日常练手的小项目中 推荐CORS 比较方便易理解 部分图片来源网络 如有侵权 请联系删除 1 浏览器同源策略 所谓同源是指 域名 协议
  • 【Git系列】分支操作

    分支操作 1 什么是分支 2 分支的好处 3 分支操作 3 1 查看分支 3 2 创建分支 3 3 切换分支 4 分支冲突 4 1 环境准备 4 2 分支冲突演示 其他系列 Git最详细的体系化教程 1 什么是分支 在版本控制过程中 使用多
  • Ptython入门学习:模块导入自定义函数与 时间模块练习

    目录 Python 日期和时间 Python 第三方模块 Python 日期和时间 Python 的 time 模块下有很多函数可以转换常见日期格式 如函数time time 用于获取当前时间戳 import time import dat
  • element plus 表格,单元格颜色,边框设置

    先看效果 cell style cellStyle 设置单元格颜色 边框 返回值一定是个对象包含
  • 使用fetch函数发送AJAX请求

    使用fetch函数发送AJAX请求 案例 点击按钮发送AJAX请求
  • MySQL第一章 创建数据库及数据表 ② 代码

    MySQL第一章 创建数据库及数据表 代码 创建表 方式一 手动点击创建 1 连接MySQL 2 创建数据库 3 创建Student1表格 4 编辑表格中的数据内容 方式二 代码编写创建 1 在MySQL 一级数据库 中新建查询链接 2 在