创建表

本文数据库名以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.查看表结构

在这里插入图片描述

Logo

本社区面向用户介绍CSDN开发云部门内部产品使用和产品迭代功能,产品功能迭代和产品建议更透明和便捷

更多推荐