数据库,顾名思义就是“数据”的“仓库”。所谓数据库(Database, DB),是将数据按一定的数据模型组织、描述和存储,具有较小的冗 余度,较高的数据独立性和易扩展性,并可为各种用户共享的数据集合。由表、关系以及操作对象组成,数据存放在表中。

目录

1.创建数据库

2.显示数据库

3.打开数据库

4.创建数据表

5.变更(改变)数据库表

6.往数据表中插入数据

7.数据修改/更新

8.数据删除

9. 数据查询

本文以网络图书销售数据库为例介绍mysql数据库基本语句。

网络图书销售数据库 E - R 图如下:

关系模型:Bookstore(数据库)

book( 图书编号,图书类别,书名,作者,出版社,出版时间,单价,数量,折扣,封面图片)

members(用户号,姓名,性别,密码,联系电话,注册时间)

sell (订单号,用户号 ,图书编号,订购册数,订购单价,订购时间,是否发货,是否收货,是否结清)

1.创建数据库

 数据库名必须唯一;  名称内不能含有“/”及“.”等非法字符;  最大不能超过64字节

如果存在则先删除:DROP DATABASE IF EXISTS 数据库名

创建数据库:CREATE DATABASE 数据库名

DEFAULT CHARACTER SET 字符集名

COLLATE 校对规则名

(字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。)

/* 创建数据库 */
DROP DATABASE IF EXISTS bookstore;CREATE DATABASE bookstore DEFAULT CHARACTER SET gb2312 COLLATE gb2312_chinese_ci;

2.显示数据库

显示服务器中已建立的数据库,使用SHOW DATABASES命令。

 注意:在MySQL中,每一条SQL语句都以“;” 作为结束标志。

SHOW DATABASES;

3.打开数据库

因为MySQL服务器中有多个数据库,可以使用USE命令可指定当前数据库。

语法:USE 数据库名,如

USE Bookstore;

4.创建数据表

为数据库创建数据表,可以使用SQL命令CREATE TABLE来完成。

语法格式:CREATE TABLE 数据库表名 (

字段名1 数据类型1 [NOT NULL | NULL],

字段名2 数据类型2 [NOT NULL | NULL],

….. );

USE Bookstore;DROP TABLE IF EXISTS book;/*  创建数据表  book  */
CREATE TABLE book (图书编号 CHAR (10) NOT NULL PRIMARY KEY,图书类别 VARCHAR (20) NOT NULL DEFAULT '计算机',书名 VARCHAR (40) NOT NULL,作者 CHAR (10) NOT NULL,出版社 VARCHAR (20) NOT NULL,出版时间 date NOT NULL,单价 FLOAT (5, 2) NOT NULL,数量 INT (5),折扣 FLOAT (3, 2),封面图片 BLOB
);/*  创建数据表  members  */
USE Bookstore;
DROP TABLE IF EXISTS members;CREATE TABLE members (用户号 CHAR (18) PRIMARY KEY,姓名 CHAR (10) NOT NULL,性别 CHAR (2) NOT NULL,密码 CHAR (6) NOT NULL,联系电话 VARCHAR (20) NOT NULL,注册时间 datetime
);/*  创建数据表  sell  */
USE Bookstore;
DROP TABLE IF EXISTS sell;CREATE TABLE sell (订单号 CHAR (10) PRIMARY KEY,用户号 CHAR (18) NOT NULL,图书编号 CHAR (20) NOT NULL,订购册数 INT (5) NOT NULL,订购单价 FLOAT NOT NULL,订购时间 datetime NOT NULL,是否发货 VARCHAR (10),是否收货 VARCHAR (10),是否结清 VARCHAR (10)
);

5.变更(改变)数据库表

ALTER TABLE用于更改原有表的结构。例如,可以增加或删减列,创建或取消索引,更改原有 列的类型,重新命名列或表,还可以更改表的评注和表的类型。

语法格式:

ALTER TABLE 表名

ADD [COLUMN] 列定义 [FIRST | AFTER列名]                       /*添加列*

| ALTER [COLUMN] 列名 {SET DEFAULT 默认值| DROP DEFAULT}      /*修改默认值*/

| CHANGE [COLUMN] 旧列名 列定义         /*对列重命名*/

[FIRST|AFTER列名]

| MODIFY [COLUMN] 列定义 [FIRST | AFTER 列名]       /*修改列类型*/

| DROP [COLUMN] 列名     /*删除列*/

| RENAME [TO] 新表名     /*重命名该表*/

 说明:语句中“[ ]”内为可选项。  { | }表示二选一。

【例】在表book中增加一列“浏览次数”。

ALTER TABLE book ADD 浏览次数 int NULL;

【例】将book表中“出版时间”列改为“出版日期”列。

ALTER TABLE book CHANGE 出版时间 出版日期 date not null

【例】删除book表中“浏览次数”列。

ALTER TABLE book DROP 浏览次数;

【例】将book表中“出版时间”列改为“出版日期”列。

ALTER TABLE book CHANGE 出版时间 出版日期 date not null;

【例】将book表中“出版日期”列类型改为日期时间类型。

ALTER TABLE book MODIFY 出版日期 datetime not null

USE Bookstore;
ALTER TABLE bookADD 浏览次数 tinyint NULL ,DROP COLUMN 书名 ;USE Bookstore;
ALTER TABLE bookRENAME TO mybook;/*  接下来建立三个数据表之间的关系,推荐采用ALTER 语法给出 外键  */
/*  1 用户号是数据表sell的外键 */
ALTER TABLE sell ADD FOREIGN KEY (用户号) REFERENCES members (用户号) ON DELETE CASCADE ON UPDATE CASCADE;/* 2 图书编号是数据表sell的外键  */
ALTER TABLE sell ADD FOREIGN KEY (图书编号) REFERENCES book (图书编号) ON DELETE CASCADE ON UPDATE CASCADE;

6.往数据表中插入数据

一旦创建了数据库和表,下一步就是向表里插入数据。通过INSERT或REPLACE语句可以 向表中插入一行或多行数据。

如果列清单和VALUES清单都为空,则 INSERT会创建一行,每个列都设置成 默认值。

从下面的SQL代码可以看出,当一次插入多条记录时,每条记录的数据要用()括起来,记录 与记录之间用逗号分开。

INSERT INTO 表名 VALUES(参数1,参数2,.......)

/*  数据记录  */-- ----------------------------
-- Records of book
-- ----------------------------
INSERT INTO book VALUES ('TP.2462', '计算机', '计算机应用基础', '陆大强', '清华大学出版社', '2018-10-19', 45.00, 45, 0.80, NULL);
INSERT INTO book VALUES ('TP.2463', '计算机', '计算机网络技术', '林力辉', '清华大学出版社', '2020-10-16', 25.50, 31, 0.80, 'D\\pic\\ll.jpg');
INSERT INTO book VALUES ('TP.2525', '计算机', 'PHP高级语言', '王大卫', '中国青年出版社', '2020-06-20', 33.25, 50, 0.80, 'D:\\pic\\js.jpg');
INSERT INTO book VALUES ('TP.6625', '计算机', 'JavaScript编程', '谢为民', '中国青年出版社', '2020-08-05', 33.00, 60, 0.80, NULL);
INSERT INTO book VALUES ('Ts.3010', '数据库', 'ORACLE', '张小刚', '北京大学出版社', '2019-08-02', 28.00, NULL, NULL, NULL);
INSERT INTO book VALUES ('Ts.3035', '数据库', 'MYSQL数据库', '李刚', '北京大学出版社', '2020-12-26', 20.00, 500, 0.80, 'D:\\pic\\jp.jpg');
INSERT INTO book VALUES ('Tw.1283', '网页设计', 'DW网站制作', '李华', '人民邮电出版社', '2015-10-01', 27.00, NULL, NULL, NULL);
INSERT INTO book VALUES ('Tw.2562', '网页设计', 'ASP网站制作', '胡莉惠', '中国青年出版社', '2020-07-24', 30.50, 50, 0.80, NULL);
INSERT INTO book VALUES ('Tw.3020', '网页设计', '网页程序设计', '刘辉', '清华大学出版社', '2019-02-15', 25.00, NULL, NULL, NULL);-- ----------------------------
-- Records of members
-- ----------------------------
INSERT INTO members VALUES ('A0012', '赵宏宇', '男', '080100', '13601234123', '2017-03-04 18:23:45');
INSERT INTO members VALUES ('A3013', '张凯', '男', '080100', '13611320001', '2018-01-15 09:12:23');
INSERT INTO members VALUES ('B0022', '王林', '男', '080100', '12501234123', '2019-01-12 08:12:30');
INSERT INTO members VALUES ('B2023', '李小冰', '女', '080100', '13651111081', '2019-01-18 08:57:18');
INSERT INTO members VALUES ('C0132', '张莉', '女', '123456', '13822555432', '2019-09-23 00:00:00');
INSERT INTO members VALUES ('C0138', '李华', '女', '123456', '13822551234', '2018-08-23 00:00:00');
INSERT INTO members VALUES ('D1963', '张三', '男', '222222', '51985523', '2019-01-23 08:15:45');-- ----------------------------
-- Records of sell
-- ----------------------------
INSERT INTO sell VALUES (1, 'C0132', 'TP.2525', 13, 20.00, '2020-11-14 12:13:49', '已发货', NULL, NULL);
INSERT INTO sell VALUES (2, 'D1963', 'TP.2463', 3, 31.50, '2020-11-21 12:25:12', '已发货', NULL, NULL);
INSERT INTO sell VALUES (3, 'D1963', 'TP.2525', 6, 23.45, '2020-03-26 12:25:23', '已发货', '已收货', NULL);
INSERT INTO sell VALUES (4, 'C0138', 'Ts.3035', 10, 23.50, '2020-08-01 12:13:49', '已发货', '已收货', '已结清');
INSERT INTO sell VALUES (5, 'C0138', 'TP.2525', 133, 33.50, '2020-08-01 12:13:49', NULL, NULL, NULL);
INSERT INTO sell VALUES (6, 'A3013', 'Tw.2562', 4, 89.00, '2020-08-20 00:00:00', NULL, NULL, NULL);
INSERT INTO sell VALUES (7, 'C0138', 'TP.2463', 43, 30.00, '2020-11-08 12:13:49', '已发货', NULL, NULL);
INSERT INTO sell VALUES (8, 'C0138', 'Ts.3035', 5, 45.50, '2020-11-21 00:00:00', NULL, NULL, NULL);
INSERT INTO sell VALUES (9, 'C0132', 'Tw.1283', 6, 23.00, '2020-11-28 18:23:35', '已发货', '已收货', NULL);

7.数据修改/更新

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

语法格式:

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

 SET子句:根据WHERE子句中指定的条件对符合条件的数据行进行修改。若语句中不设定 WHERE子句,则更新所有行。

 可以同时修改所在数据行的多个列值,中间用逗号隔开

【例】 将Bookstore数据库中Book表的所有书籍数量都增加10。将Members表中姓名为“张 三”的员工的联系电话改为“13802551234”,密码改为“111111”。

UPDATE Book
SET 数量 = 数量+10;
UPDATE Members
SET联系电话 ='13802551234' , 密码 ='111111'
WHERE 姓名 = '张三';

【例】订单号为6的客户因某种原因退回2本图书,请在sell表中修改订购册数,同时书退回后, book表中该图书的数量增加4。

UPDATE sell ,book
SET sell.订购册数=订购册数-2 , book.数量=数量+2
WHERE sell.图书编号=book.图书编号 and sell.订单号='6';

8.数据删除

使用DELETE语句删除数据

语法格式:DELETE [IGNORE] FROM 表名 [WHERE条件]

 如果省略WHERE子句则删除该表的所有行。

【例】 将Bookstore数据库的Members表中姓名为“张三”的员工的记录删除。

USE Bookstore;

DELETE FROM Members WHERE 姓名='张三';

【例】 用户号为D1963的客户注销了,请在members表中将该用户记录删除,同时将其在 sell表中的记录也删除。

DELETE sell,members

FROM sell,members

WHERE sell.用户号=members.用户号

AND members.用户号='D1963';

9. 数据查询

使用数据库和表的主要目的是存储数据以便在需要时进行检索、统计或组织输出,通过SQL 语句的查询可以从表或视图中迅速方便地检索数据。

SELECT语句

SELECT [ALL | DISTINCT] 输出列表达式, ...

[FROM 表名1 [ , 表名2] …]                     /*FROM子句*/

[WHERE 条件]                                     /*WHERE子句*/

[GROUP BY {列名 | 表达式 | 列编号} [ASC | DESC], ...          /* GROUP BY 子句*/

[HAVING 条件]                                        /* HAVING 子句*/

[ORDER BY {列名 | 表达式 | 列编号}

[ASC | DESC] , ...]                                      /*ORDER BY子句*/

[LIMIT {[偏移量,] 行数|行数OFFSET偏移量}]             /*LIMIT子句*

使用SELECT语句选择一个表中的某些列:SELECT 字段列表 FROM 表名 

各列名之间要以逗号分隔

【例】 查询Members表中各用户的姓名、联系电话和注册时间

USE Bookstore; SELECT 姓名,联系电话,注册时间 FROM Members;

当希望查询结果中的某些列或所有列显示时且使用自己选择的列标题时,可以在列名之后使用 AS子句来更改查询结果的列别名

语法格式为: SELECT 字段列表 [AS] 别名

【例】 查询Book表中图书类别为计算机的图书书名、作者和出版社,结果中各列的标题分别指定为 name、auther和publisher。

SELECT 书名 AS name, 作者 AS auther, 出版社 AS publisher FROM Book

WHERE 图书类别= '计算机';

MySQL数据库技术相关推荐

  1. mysql数据库j电子课件,MYSQL数据库技术分享PPT演示课件

    <MYSQL数据库技术分享PPT演示课件>由会员分享,可在线阅读,更多相关<MYSQL数据库技术分享PPT演示课件(29页珍藏版)>请在人人文库网上搜索. 1.数据库技术分享, ...

  2. mysql数据库技术与项目李锡辉_《MySQL数据库技术与项目应用教程 李锡辉 ,王樱 9787115474100 人》李锡辉,王樱著【摘要 书评 在线阅读】-苏宁易购图书...

    商品参数 作者: 李锡辉,王樱著 出版社:人民邮电出版社 出版时间:人民邮电出版社 版权提供:人民邮电出版社 基本信息 书名:MySQL数据库技术与项目应用教程 定价:45.00元 作者:李锡辉 ,王 ...

  3. MySQL数据库技术 第二版 章末 答案—单元5---思考5

    MySQL数据库技术 第二版 章末 答案-单元5 以下是我个人所尝试过得答案,若有不正确的地方请告知,谢谢!由于实在是太多内容了,原谅我省略题目内容 单元5 数据查询 ---- 思考5---- P10 ...

  4. MySQL数据库技术 第二版 章末 答案—单元8

    MySQL数据库技术 第二版 章末 答案-单元8 以下是我个人所尝试过得答案,若有不正确的地方请告知,谢谢!由于实在是太多内容了,原谅我省略题目内容 单元8 数据库编程 ---- P166-P168 ...

  5. MySQL数据库技术 第二版 章末 答案—单元5 ----实训5

    MySQL数据库技术 第二版 章末 答案-单元5 以下是我个人所尝试过得答案,若有不正确的地方请告知,谢谢! 由于实在是太多内容了,原谅我省略题目内容 单元5 数据查询 ---- 实训5----P10 ...

  6. mysql数据库技术与项目课后答案_数据库技术与应用mysql版答案

    数据库技术与应用mysql版答案 更多相关问题 下列建筑或场所中,可不设置室内消火栓的是().A.占地面积500m2的丙类仓库B.粮食仓库C.高层公共关于火灾自动报警系统组件的说法,正确的是()A.手 ...

  7. mysql数据库技术方案,MySql数据库优化方案

    一.方案概述 优化现有mysql数据库. 二.方案优缺点 优点:不影响现有业务,源程序不需要修改代码,成本最低. 缺点:有上限,数据量过亿就不行了. 三.方案实施细则 1.数据库设计和表创建时就要考虑 ...

  8. Python MySQL 数据库技术 part 3

    8.MySQL数据操作 DML 增删改 8.1 添加数据 insert into 表名[(字段列表)] values(值列表); 1) 标准添加(指定所有字段,给定所有值) insert into 表 ...

  9. mysql数据库技术教材答案_MYSQL数据库习题解答.pdf

    数据库原理与应用教程―SQLServer2008 习题解答 第 1 章 习题 1.数据库的发展历史分哪几个阶段?各有什么特点? 答:数据库技术经历了人工管理阶段.文件系统阶段和数据库系统三个阶段. 1 ...

最新文章

  1. php持续写入文件,PHP:如何读取不断写入的文件
  2. 硬中断 / 软中断的原理和实现
  3. IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的...
  4. DE1-LINUX运行
  5. 网管笔记(1)8.22
  6. Jersey WebResource –标头不附加
  7. STS的安装教程-鹏鹏
  8. 【阿里云MVP月度分享】SaaS服务商如何通过数加平台统计业务流量
  9. Atitit.ui控件---下拉菜单选择控件的实现select html
  10. 计算机显示屏知识,电脑显示器知识大全
  11. matlab每个循环命令行窗口输出,【matlab】命令行窗口一直不停的输出ans=1?
  12. python中的subprocess.Popen()使用
  13. 图片无损压缩(ubuntu 安装 )
  14. 做国外LEAD需要一些邮箱怎么办
  15. 推荐3个网页设计在线配色网站
  16. ffmpeg中的时间 DTS、PTS、AV_TIME_BASE、AV_TIME_BASE_Q 介绍
  17. 【Unity Shaders】Reflecting Your World —— Unity3D中的法线贴图和反射
  18. 【信号处理】CFO估计技术(Matlab代码实现)
  19. c语言 /*知识点全概要(更新中)
  20. linux打怪升级之旅-04

热门文章

  1. Python文件和数据格式化(教程)
  2. 智能家居DIY之智能吸顶灯
  3. 基于仿360小说网站(校园网)的源码设计实现(升级版)
  4. nginx下强制跳转到www域名,域名重定向
  5. KDZD606绝缘服试验装置
  6. Mac m1 安装php redis扩展
  7. pycharm中使用chatgpt
  8. idea如何查看并去掉所有断点
  9. matlab矩阵及其基本运算—特征值分解和奇异值分解
  10. 嵌入式设计,硬件和软件哪个重要?