MySQL基础教程(一):连接数据库和使用表

news2024/12/23 20:05:19

这个专栏用来讲解 MySQL 数据的基本语法和用法。本教程的目的是方便查询 MySQL 的用法,因此对于原理的讲解会偏少一些,但特点就是会有很多实验操作图。

本专栏使用的源材料是《MySQL必知必会》这本书的源代码。

文章目录

  • 1. 连接 MySQL 数据库
  • 2. 创建数据库
  • 3. 执行脚本创建表
  • 4. 查看某个表的结构:show命令

1. 连接 MySQL 数据库

使用MySQL命令行连接数据库:

mysql -u root -p passwd -h myserver -P 3306

参数的含义:

  • -u:指定用户名
  • -p:用户名的密码
  • -h:主机名,例如localhost
  • -P:使用指定的端口连接数据库

2. 创建数据库

mysql 终端使用命令 create database db_name 创建一个数据库:
在这里插入图片描述
这里我们需要创建 crashcourse 数据库。 然后使用这个数据库:use crashcourse
在这里插入图片描述

3. 执行脚本创建表

使用某个sql脚本文件创建表:source create.sqlcreate.sql 文件必须在进入 mysql 命令行时所在的目录。
在这里插入图片描述
在这里插入图片描述

4. 查看某个表的结构:show命令

show 命令可以用来显示某个表的所有列:
在这里插入图片描述
还有一个更快捷的方法:
在这里插入图片描述
使用 help show 可以查看show命令的其它用法。下面只是show命令用法的部分。
在这里插入图片描述

create.sql 文件中的内容如下:

########################################
# MySQL Crash Course
# http://www.forta.com/books/0672327120/
# Example table creation scripts
########################################


########################
# Create customers table
########################
CREATE TABLE customers
(
  cust_id      int       NOT NULL AUTO_INCREMENT,
  cust_name    char(50)  NOT NULL ,
  cust_address char(50)  NULL ,
  cust_city    char(50)  NULL ,
  cust_state   char(5)   NULL ,
  cust_zip     char(10)  NULL ,
  cust_country char(50)  NULL ,
  cust_contact char(50)  NULL ,
  cust_email   char(255) NULL ,
  PRIMARY KEY (cust_id)
) ENGINE=InnoDB;

#########################
# Create orderitems table
#########################
CREATE TABLE orderitems
(
  order_num  int          NOT NULL ,
  order_item int          NOT NULL ,
  prod_id    char(10)     NOT NULL ,
  quantity   int          NOT NULL ,
  item_price decimal(8,2) NOT NULL ,
  PRIMARY KEY (order_num, order_item)
) ENGINE=InnoDB;


#####################
# Create orders table
#####################
CREATE TABLE orders
(
  order_num  int      NOT NULL AUTO_INCREMENT,
  order_date datetime NOT NULL ,
  cust_id    int      NOT NULL ,
  PRIMARY KEY (order_num)
) ENGINE=InnoDB;

#######################
# Create products table
#######################
CREATE TABLE products
(
  prod_id    char(10)      NOT NULL,
  vend_id    int           NOT NULL ,
  prod_name  char(255)     NOT NULL ,
  prod_price decimal(8,2)  NOT NULL ,
  prod_desc  text          NULL ,
  PRIMARY KEY(prod_id)
) ENGINE=InnoDB;

######################
# Create vendors table
######################
CREATE TABLE vendors
(
  vend_id      int      NOT NULL AUTO_INCREMENT,
  vend_name    char(50) NOT NULL ,
  vend_address char(50) NULL ,
  vend_city    char(50) NULL ,
  vend_state   char(5)  NULL ,
  vend_zip     char(10) NULL ,
  vend_country char(50) NULL ,
  PRIMARY KEY (vend_id)
) ENGINE=InnoDB;

###########################
# Create productnotes table
###########################
CREATE TABLE productnotes
(
  note_id    int           NOT NULL AUTO_INCREMENT,
  prod_id    char(10)      NOT NULL,
  note_date datetime       NOT NULL,
  note_text  text          NULL ,
  PRIMARY KEY(note_id),
  FULLTEXT(note_text)
) ENGINE=MyISAM;


#####################
# Define foreign keys
#####################
ALTER TABLE orderitems ADD CONSTRAINT fk_orderitems_orders FOREIGN KEY (order_num) REFERENCES orders (order_num);
ALTER TABLE orderitems ADD CONSTRAINT fk_orderitems_products FOREIGN KEY (prod_id) REFERENCES products (prod_id);
ALTER TABLE orders ADD CONSTRAINT fk_orders_customers FOREIGN KEY (cust_id) REFERENCES customers (cust_id);
ALTER TABLE products ADD CONSTRAINT fk_products_vendors FOREIGN KEY (vend_id) REFERENCES vendors (vend_id);

小结:

  • 登入 mysql 的命令行;
  • 查看有哪些数据库:show databases;
  • 使用指定的数据库:use database_name;
  • 当前所在数据库有哪些表:show tables;
  • 查看一个表的结构:describe table_name; 或者 show columns from table_name;

各位道友,如有收获,记得一键三连呐。

最后,给各位道友介绍一下使用国外虚拟卡开通一些国外服务的渠道,当前我在用的是 wildcard,使用我的注册邀请码 IOQ1YDHH 注册,能得 2 美刀,抵消一部分的开卡费用。同时,我也能得 1 美刀,赠人玫瑰,手有余香啊,哈哈。自己买个 Github CopilotChatGPT Plus 简直不要太香。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2197390.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

搭建个人博客--1、前端页面

采用bootstrap前端框架&#xff1a; Anchor - a free Bootstrap UI Kit综合使用bootstrap框架做一个Aotm Blog个人博客_基于bootstrap的博客-CSDN博客 做出模板base.html {% load static %} <!DOCTYPE html> <html langen> <head><meta charset"UT…

Facebook账单户和海外户该如何选择?

近期&#xff0c;有不少小伙伴来咨询广告投放账户的问题&#xff0c;很多人把账单户作为广告投放的选择&#xff0c;那么账单户和海外户哪个更适合你呢&#xff1f;本文将详细探讨这两种账户类型的差异&#xff0c;以及在不同情境下应如何选择&#xff0c;感兴趣的朋友就继续看…

遨游双卫星智能终端,赋能石油行业安全生产和信息化建设

石油&#xff0c;被誉为“工业的血液”&#xff0c;其影响力深远&#xff0c;石油勘探与开发活动往往在人迹罕至的偏远区域展开&#xff0c;如广袤的戈壁滩、浩瀚的海洋&#xff0c;这些区域普遍缺乏健全的公共电信网络基础设施。以往&#xff0c;油田野外作业团队主要依赖短波…

避雷!Google Adsense联盟营销七大投放误区

你是否在使用Google AdSense进行广告投放&#xff1f;你是否想进一步优化你的投放策略&#xff1f;那么这篇文章你不可错过啦&#xff01; Google AdSense为跨境商家提供了一个平台&#xff0c;我们可以通过展示相关广告来赚取收入。然而&#xff0c;即使是最有经验的商家也可…

API项目:模拟接口开发和调用

创建模拟接口 controller 层&#xff1a; 控制层&#xff0c;负责处理用户请求&#xff0c;并根据请求调用相应的业务逻辑&#xff0c;然后返回对应的视图或数据。 model 层&#xff1a; 数据模型层&#xff0c;负责数据的处理和业务逻辑&#xff1b;在 model 层中&#xf…

无人机在矿业领域的应用!

矿区测绘与建模 无人机可以快速、全面地获取矿区的地形地貌数据&#xff0c;生成高精度的二维或三维模型。 这些模型可用于矿区的规划、设计、监测和管理&#xff0c;提高矿山的生产效率。 库存量量化监测 无人机能够捕捉厘米级的地形数据&#xff0c;通过计算得出准确的库…

ADC -模数转换

ADC -模数转换 - 将模拟信号转换为数字信号 目录 ADC -模数转换 - 将模拟信号转换为数字信号 STM32方面使用的AD转化方式是逐次逼近法 ADC 什么叫单次&#xff0c;连续&#xff0c;扫描&#xff0c;中断&#xff1f; 应用&#xff1a;运用STM32中ADC转…

Vue入门-小黑课堂Demo

功能需求&#xff1a; ①列表渲染 ②删除功能 ③添加功能 ④底部统计和清空 页面效果&#xff1a; 代码展示&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" c…

年会工作会议会务报名签到小程序开源版开发

年会工作会议会务报名签到小程序开源版开发 会议管理微信小程序&#xff0c;对会议流程、开支、数量、标准、供应商提供一种标准化的管理方法。以达到量化成本节约&#xff0c;风险缓解和服务质量提升的目的。适用于大型论坛、峰会、学术会议、政府大会、合作伙伴大会、经销商…

大多数人不知道的:线程池CallerRunsPolicy()拒绝策略

总所周知&#xff0c;java里面线程池的四个拒绝策略 AbortPolicy 丢弃并抛出RejectedExecutionException异常 DiscardPolicy 直接丢弃 DiscardOldestPolicy 直接丢弃最前面的任务&#xff0c;尝试执行新任务 CallerRunsPolicy 由调用线程池的线程处理任务&a…

linux安装minianconda

文章目录 &#x1f315;我的配置&#x1f315;从清华镜像源里下载minianaconda&#x1f315;安装&#x1f315;自定义安装位置&#x1f315;是否关闭打开终端默认进入anaconda的设置&#xff1f;&#x1f315;配置清华镜像源 &#x1f315;我的配置 ubuntu 22.04LTS &#x1…

全都燃起来了!黄金周车市销量成绩出炉

文/王俣祺 导语&#xff1a;国庆黄金周对于其他行业可能是个放松的好时机&#xff0c;但对于国内汽车市场而言可能是下半年最关键的“战场”。这几天&#xff0c;全国各地的车展和4S店简直热闹非凡&#xff0c;新能源车尤其抢镜&#xff0c;优惠活动不断&#xff0c;引得消费者…

DAMA数据管理知识体系(第9章 文件和内容管理)

课本内容 9.1 引言 概要 文件和内容管理是指针对存储在关系型数据库之外的数据和信息的采集、存储、访问和使用过程的管理[1]。它的重点在于保持文件和其他非结构化或半结构化信息的完整性&#xff0c;并使这些信息能够被访问。业务驱动因素 法规遵从性要求 法律法规要求组织保…

基于uniapp+django微信小程序 食品安全信息管理系统

目录 项目介绍具体实现截图开发者工具介绍技术路线性能/安全/负载方面开发语言以及框架介绍python-flask核心代码部分展示python-django核心代码部分展示详细视频演示源码获取 项目介绍 食品安全信息管理系统设计的目的是为用户提供食品信息、科普专栏、食品检测、检测结果、交…

力扣LeetCode-链表中的循环与递归使用

标题做题的时候发现循环与递归的使用差别&#xff1a; 看两道题&#xff1a; 两道题都是不知道链表有多长&#xff0c;所以需要用到循环&#xff0c;用到循环就可以把整个过程分成多个循环体&#xff0c;就是每一次循环要执行的内容。 反转链表&#xff1a; 把null–>1…

【图论】迪杰特斯拉算法

文章目录 迪杰特斯拉算法主要特点基本思想算法步骤示例 实现迪杰斯特拉算法基本步骤算法思路 总结 迪杰特斯拉算法 迪杰特斯拉算法是由荷兰计算机科学家艾兹赫尔迪杰特斯拉&#xff08;Edsger W. Dijkstra&#xff09;在1956年提出的&#xff0c;用于解决单源最短路径问题的经…

动态规划算法题目练习——91.解码方法

1.题目解析 题目来源&#xff1a;91.解码方法——力扣 测试用例 2.算法原理 基础版本 1.状态表示 由于题目只要求返回第i个位置的可能情况&#xff0c;则只需要开辟n(ns.size())个大小的dp表即可 2.状态转移方程 题目可知第i个位置可以单独解码也可以与前一个位置组合解码&am…

通付盾|打造新型信息基础设施

2024年9月4日&#xff0c;工业和信息化部、中央网信办等十一部门联合印发《关于推动新型信息基础设施协调发展有关事项的通知》&#xff0c;从全国统筹布局、跨区域协调、跨网络协调、跨行业协调、发展与绿色协调、发展与安全协调、跨部门政策协调等方面明确了21条具体举措&…

命名管道Linux

管道是 毫不相关的进程进程间通信::命名管道 管道 首先自己要用用户层缓冲区&#xff0c;还得把用户层缓冲区拷贝到管道里&#xff0c;&#xff08;从键盘里输入数据到用户层缓冲区里面&#xff09;&#xff0c;然后用户层缓冲区通过系统调用&#xff08;write&#xff09;写…

【JavaEE】——文件IO

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 一&#xff1a;认识文件 1&#xff1a;文件的概念 2&#xff1a;文件的结构 3&#xff1a;文件路径…