【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脚本在控制台执行。怎么操作呢?