当前位置: 首页 > article >正文

【MySQL】数据库基础操作一:建库与建表

目录

🌟前言

🌈1、常见的关系型数据库        

🌟数据库的基本操作

🌈1、常用数据库的操作

🌈2、常用的数据类型

🌈3、表的基本操作

🍅创建表的一个小练习


🌟前言

🌈1、常见的关系型数据库        

数据库描述
ACCESS微软出的一个在OFFICE里继承的一个小型数据库。SQLITE常在手机的APP里面,桌面程序。
SQL Server微软真正意义上的大型数据库。
MySQL用的最多的数据库:开源,免费。
PostgreSql具体效率比MySQL高一点,部分公司在使用。
Oracle业内最强的数据库。收费。

非关系型数据库(了解):不规定基于SQL实现,更多的是指NoSQL数据库。有基于键值对的(比如memcached,redis),基于文档型的(mongodb),基于列族(hbase),基于图型(neo4j)。

❓问题:数据库服务和我们常说的数据库有什么区别呢? 

         客户端和服务之间的通信是通过网络传输的。每台数据库服务器上管理着很多个数据库,每个数据库中有很多数据表,每个数据表中有很多数据行(每条记录),每个数据行中有很多的字段。

🌟数据库的基本操作

🌈1、常用数据库的操作

 (1)在终端连接数据库

mysql -uroot -p;

(2)显示当前的数据库:MySQL对大小写不敏感。

show databases;

(3)创建数据库 

CREATE DATABASE [IF NOT EXISTS] db_name character_set_utf8mb4;

注意:if not exists是可选项,只有不存在了才创建。如果不加if not exists,创建一个重名的数据库就会显示错误。而character_set_utf8mb4是设置默认的编码集。

(4)查看数据库字符集

show variables like '%character%';

 (5)MySQL允许用户使用关键字作为数据库名称,但是要用反引号``将关键字引起来。

 (6)使用数据库:查看当前使用的是哪一个数据库,选择要使用的数据库之后才能对数据库进行操作。

use 数据库名;

(7)删除数据库:数据库的删除是非常危险的操作,drop和delete在MySQL中是删除的关键字,一定要谨慎操作❗❗❗

drop database [if exists] 数据库名;

(8) 查看警告信息

show warnings;

(9) SQL中的注释

-- 创建一个表
# 创建一个表
/*
 * 创建一个表
*/

🌈2、常用的数据类型

        在选择好要操作的数据库之后,我们就要对数据库中的表进行操作了。不过在这之前我们首先要学习一下常用的数据类型。

        (1)数值类型:涉及到金额等比较敏感的数据时,可以用decimal类型,也可以用bigint或者int表示。比较常用的是bigint,int,decimal。

        (2)字符串类型(比较常用的是Varchar)

 ❓问题:区分字节与字符

   在Varchar类型中,size表示的是字符的长度。字符和字节是不同的概念。

(1)对于英文,一个字节就是一个字符。(hello就是5个字节,5个字符)

(2)对于中文,字节的多少,和编码格式有关。如果是JBK编码,编码使用两个字节表示一个汉字;如果是UTF-8编码,则使用三个或者字节表示一个字符。


❓问题:区分文本格式和二进制格式的区别?

        如果用文本编辑器打开的文件,可以明文显示就是文本格式;如果打开后是乱码就是二进制格式。

        (3)日期类型:一般使用datetime。

🌈3、表的基本操作

(1)查看数据库中的表

        需要操作数据库中的表时,需要先使用该数据库。        

use 数据库名;
show tables;

(2)创建表:field表示字段名,datatype表示数据类型。

CREATE TABLE 表名 (
字段名1 数据类型1,
字段名2 数据类型2,
字段名3 数据类型3
);

举个栗子🌰: 

 (3)查看表结构

desc 表名;

(4)删除表(谨慎操作)

drop table if exists 表名1,表名2;

🍅创建表的一个小练习:

有一个商店的数据,记录客户及购物情况,有以下三个表组成:
(1)商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category, 供应商provider)。
(2)客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex,身份证
card_id)。
(3)购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums)。

以goods表为例:comment表示注释。

use java;//选择数据库

create table if not exists goods
(goods_id int comment '商品编号', 
goods_name varchar(32) comment '商品名称',
unitprice int comment '单价',
category varchar(32) comment '商品类别',
provider varchar(32) comment '供应商'
)

 

        注意:一般这种创建表或者是其他比较长的代码时,就不适合在控制台写了,很容易出错。我们推荐在图形化界面中写代码或者直接用sql脚本在控制台执行怎么操作呢?        


 


http://www.kler.cn/news/17311.html

相关文章:

  • P4725 【模板】多项式对数函数(多项式 ln)
  • MobileNet(V1、V2、V3)入门
  • 状态机模式
  • 男子订民宿被毁约5个家庭漂泊街头 房东:住满了,没办法
  • Maven 知识点总结
  • 日撸 Java 三百行day38
  • Springboot +Flowable,任务认领和回退(一)
  • 【JavaEE】应用层自定义协议及UDP协议
  • 【技术选型】Elasticsearch 和Solr那个香?
  • shell脚本 cut工具
  • 智能交通:从车牌识别到城市智能停车
  • Linux 中实现 ssh 免密登录
  • 联通云正式启动“同舟计划”,点燃数字引擎赋能产业未来
  • 100+Python挑战性编程练习系列 -- day 3
  • 2008-2019年主要城市PITI指数
  • 简单有趣的轻量级网络 Efficientnet(网络结构详解+详细注释代码+核心思想讲解)——pytorch实现
  • 华为OD机试 - 快递业务站(Python)
  • 三分钟教你看懂 spring 官方文档
  • 【ansys】project may be corrupted and recovery information is available
  • 达梦:dts工具迁移mysql decimal(65,30)的字段,报精度超出定义
  • 净利润下滑13%,帅丰电器已掉队?
  • ChatGPT 探讨内存屏障的意内存
  • 虹科荣誉 | 虹科工业物联网产品荣获中国自动化产业年会用户信赖产品奖!
  • 将 Segment Anything 扩展到医学图像领域
  • 数据埋点2
  • 华为OD机试 - 识图谱新词挖掘(Python)
  • PBDB Data Service:Output formats and Vocabularies(输出格式与术语表)
  • 腾讯高工手写13W字“Netty速成手册”,3天走向实战
  • 《可穿戴监测中的数据质量评估》阅读笔记
  • TypeScript进阶