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.查看表结构
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/118116.html