数据库应用(MYSQL)PetStore数据库中的“写”操作

第1关:创建并管理数据库

任务描述

本关任务:
1.创建数据库mydb,
2.将数据库的字符集修改为gb2312,校对规则修改为gb2312_chinese_ci,
3.将mydb设置成当前使用的数据库,
4.删除数据库mydb,
5.查看系统中所有的数据库。

####相关知识

语法

1.创建数据库
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] 数据库名
[ [DEFAULT] CHARACTER SET 字符集名
| [DEFAULT] COLLATE 校对规则名]
说明:语句中“[ ]”内为可选项。
{ | }表示二选一。
2.修改数据库
数据库创建后,如果需要修改数据库的参数,可以使用ALTER DATABASE命令。
语法格式:
ALTER {DATABASE | SCHEMA} [数据库名]
[[DEFAULT] CHARACTER SET 字符集名
| [DEFAULT] COLLATE 校对规则名]
3.因为MySQL服务器中有多个数据库,可以使用USE命令可指定当前数据库。
语法格式:
USE db_name;
4.已经创建的数据库需要删除,使用DROP DATABASE命令。
语法格式:
DROP DATABASE [IF EXISTS] 数据库名
5.查看系统中的数据库:
SHOW DATABASES;

代码:

USE petstore;#数据库的转换
create database mydb;#创建数据库
clter database mydb#修改数据库
character set gb2312#字符集修改
collate gb2312_chinese_ci;#校对规则修改
USE mydb;
drop database mydb;#删除数据库
show database;#查看系统的所有数据库
######Begin#######
######end#######

第2关:创建、查看、描述表

本关任务:
1.查看当前数据库中的表。
2.在当前数据库中创建“购物车”(cart)表,表结构如下:

3.查看cart表的结构。
####相关知识

语法

1.显示数据表文件名
语法格式: SHOW TABLES

2.创建表使用CREATE TABLE命令。
语法格式:
CREATE TABLE [IF NOT EXISTS] 表名
(列名 数据类型 [NOT NULL | NULL] [DEFAULT 列默认值]…)
ENGINE = 存储引擎
3.显示数据表结构
语法格式:
{DESCRIBE | DESC} 表名 [列名 | 通配符 ]
DESC是DESCRIBE的简写,二者用法相同。

代码:

USE petstore;
show tables;#查看当前数据库的表
create table cart(
userid  char(20) not null,
productid char(40) not null,
num int(5) not null,
primary key(userid,productid)#设置主键
);#创建表
desc cart;#查看表结构 
######Begin#######
######end#######

第3关:查询指定表中的所有数据

任务描述

本关任务:查询宠物商店数据库PetStore中account表中的所有数据。

代码:

USE petstore;
select * from account;#查询表中的数据
######Begin#######
######end#######

4关:复制、修改、删除表

任务描述

本关任务:
1.复制petstore数据库中的account表,将新表命名为x。
2.将新表的字段password修改成varchar(20)。
3.查看数据库中的表。
4.将x改名为y。
5.删除y。
6.查看数据库中的表。
####相关知识

语法

1.复制表语法格式:
CREATE TABLE [IF NOT EXISTS] 新表名
[ LIKE 参照表名 ]
| [AS (select语句)]
使用LIKE关键字创建一个与old_table_name表相同结构的新表,列名、数据类型、空指定和索引也将复制,但是表的内容不会复制,因此创建的新表是一个空表。
使用AS关键字可以复制表的内容,但索引和完整性约束是不会复制的。

2.ALTER TABLE用于更改原有表的结构。例如,可以增加或删减列,创建或取消索引,更改原有列的类型,重新命名列或表,还可以更改表的评注和表的类型。
语法格式:
ALTER [IGNORE] TABLE表名
ADD [COLUMN] 列名 [FIRST | AFTER列名] /添加列/ | ALTER [COLUMN] 列名 {SET DEFAULT 默认值| DROP DEFAULT}
/修改默认值/ | CHANGE [COLUMN] 旧列名 列定义 /对列重命名/ [FIRST|AFTER列名]
| MODIFY [COLUMN] 列定义 [FIRST | AFTER 列名]
/修改列类型/ | DROP [COLUMN] 列名 /删除列/ | RENAME [TO] 新表名 /重命名该表/

3.删除表
DROP TABLE [IF EXISTS] 表名1 [,表名2 ] ...

4.显示数据表文件名
语法格式: SHOW TABLES

代码:

USE petstore;
create table x like account;# 复制account表,将新表命名为x
alter table x modify
password varchar(20);#修改字段的类型
show tables;#查看数据库的表
alter table x rename to y;#给表改名
drop table y;#删除表
show tables;
######Begin#######
######end#######

第5关:向表中插入一条记录insert(一)

任务描述

本关任务:(注意:可以用3种insert语句的写法完成本题)在宠物商店数据库(PetStore)的商品类别(category)表中插入一条记录,并查询插入记录后的表。
插入的记录如下:
('06','昆虫',null);
其中category表结构如下:

相关知识

插入语句语法

一旦创建了数据库和表,下一步就是向表里插入数据。通过INSERT或REPLACE语句可以向表中插入一行或多行数据。
语法格式:
INSERT [IGNORE] [INTO] 表名[(列名,...)]
VALUES ({表达式| DEFAULT},..),(...),...
| SET列名={表达式| DEFAULT}, ...

说明:
如果要给全部列插入数据,列名可以省略。如果只给表的部分列插入数据,需要指定这些列。对于没有指出的列,它们的值根据列默认值或有关属性来确定,MySQL处理的原则是:
(1)具有IDENTITY属性的列,系统生成序号值来唯一标志列。
(2)具有默认值的列,其值为默认值。
(3)没有默认值的列,若允许为空值,则其值为空值;若不允许为空值,则出错。
(4)类型为timestamp的列,系统自动赋值。

代码:

USE petstore;
insert into category
values(‘06’,’昆虫’,null);#插入的记录
select * from category;#查询表
######Begin#######
######end#######

或者

USE petstore;
insert into category(catid,catname)
values(‘06’,’昆虫’);#插入的记录
select * from category;#查询表
######Begin#######
######end#######

或者

USE petstore;
insert into category
set catid=’06’,catname=’昆虫’,cades=null;#插入的记录
select * from category;#查询表
######Begin#######
######end#######

或者

USE petstore;
insert into category
set catid=’06’,catname=’昆虫’;#插入的记录
select * from category;#查询表
######Begin#######
######end#######

第6关:向表中插入一条记录insert(二)

任务描述

本关任务:(注意:可以用3种insert语句的写法完成本题)在宠物商店数据库(PetStore)的用户(account)表中插入一条记录,并查询插入记录后的表。
插入的记录如下:('u0007','张三','abc','男','长沙','abc@qq.com','13312345678');
其中account表结构如下:

相关知识

插入语句语法

一旦创建了数据库和表,下一步就是向表里插入数据。通过INSERT或REPLACE语句可以向表中插入一行或多行数据。
语法格式:
INSERT [IGNORE] [INTO] 表名[(列名,...)]
VALUES ({表达式| DEFAULT},..),(...),...
| SET列名={表达式| DEFAULT}, ...

说明:
如果要给全部列插入数据,列名可以省略。如果只给表的部分列插入数据,需要指定这些列。对于没有指出的列,它们的值根据列默认值或有关属性来确定,MySQL处理的原则是:
(1)具有IDENTITY属性的列,系统生成序号值来唯一标志列。
(2)具有默认值的列,其值为默认值。
(3)没有默认值的列,若允许为空值,则其值为空值;若不允许为空值,则出错。
(4)类型为timestamp的列,系统自动赋值。

代码:

USE petstore;
insert int account
values('u0007','张三','abc','男','长沙','abc@qq.com','13312345678');
select * from account;
######Begin#######
######end#######

或者

USE petstore;
insert int account
set userid='u0007',fullname='张三',password='abc',sex='男',address='长沙',email='abc@qq.com',phone='13312345678';
select * from account;
######Begin#######
######end#######

第7关:更新表中的记录update(一)

任务描述

本关任务:在宠物商店数据库(PetStore)的商品类别(category)表中将类别编号(catid)为04的类别名(catname)修改为“热带鱼”,并查询修改后的表。

其中category表结构如下:

相关知识

语法

要修改表中的一行数据,可以使用UPDATE语句,UPDATE可以用来修改一个表,也可以修改多个表。
修改单个表,语法格式:

  1.   UPDATE [IGNORE] 表名  
  2.       SET 列名1=表达式1 [,列名2=表达式2 ...]  
  3.       [WHERE 条件]   

说明:
● SET子句:根据WHERE子句中指定的条件对符合条件的数据行进行修改。若语句中不设定WHERE子句,则更新所有行。
● 可以同时修改所在数据行的多个列值,中间用逗号隔开。

代码:

USE petstore;
update category 
set catname=’热带鱼’
where catid=’04’;#对符合条件的数据行进行修改
select * from category;
######Begin#######
######end#######

第8关:更新表中的记录update(二)

任务描述

本关任务:在宠物商店数据库(PetStore)的用户(account)表中将‘u0006’用户的电话修改为‘18612345678’,并查询插入记录后的表。

其中account表结构如下:

相关知识

语法

要修改表中的一行数据,可以使用UPDATE语句,UPDATE可以用来修改一个表,也可以修改多个表。
修改单个表,语法格式:

  1.   UPDATE [IGNORE] 表名  
  2.       SET 列名1=表达式1 [,列名2=表达式2 ...]  
  3.       [WHERE 条件]   

说明:
● SET子句:根据WHERE子句中指定的条件对符合条件的数据行进行修改。若语句中不设定WHERE子句,则更新所有行。
● 可以同时修改所在数据行的多个列值,中间用逗号隔开。

代码:

USE petstore;
update account
set phone=‘18612345678’
where userid=‘u0006’;#对符合条件的数据行进行修改
select * from account;
######Begin#######
######end#######

第9关:删除表中的记录delete(一)

任务描述

本关任务:删除宠物商店数据库(PetStore)的商品类别(category)表catid=‘04’的记录,并查询删除记录后的表。

其中category表结构如下:

相关知识

删除语句语法

使用DELETE语句删除数据
从单个表中删除,语法格式:
DELETE [IGNORE] FROM 表名
[WHERE条件]
说明:
● 如果省略WHERE子句则删除该表的所有行。

代码:

USE petstore;
delete from category
where catid=‘04’;#对符合条件的数据行进行删除
select * from category;
######Begin#######
######end#######

第10关:删除表中的记录delete(二)

任务描述

本关任务:删除宠物商店数据库(PetStore)的用户(account)表来自广东深圳市的用户记录,并查询删除记录后的表。

其中account表结构如下:

相关知识

删除语句语法

使用DELETE语句删除数据
从单个表中删除,语法格式:
DELETE [IGNORE] FROM 表名
[WHERE条件]
说明:
● 如果省略WHERE子句则删除该表的所有行。

代码:

USE petstore;
delete from account
where address=‘广东深圳市’;#对符合条件的数据行进行删除
select * from category;
######Begin#######
######end#######

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值