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

目录

前言

1、常见的关系型数据库        

数据库的基本操作

1、常用数据库的操作

2、常用的数据类型

3、表的基本操作

创建表的一个小练习


前言

1、常见的关系型数据库        

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

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

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

【MySQL】数据库基础操作一:建库与建表_第1张图片

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

数据库的基本操作

1、常用数据库的操作

 (1)在终端连接数据库

mysql -uroot -p;

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

show databases;

【MySQL】数据库基础操作一:建库与建表_第2张图片

(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%';

【MySQL】数据库基础操作一:建库与建表_第3张图片

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

【MySQL】数据库基础操作一:建库与建表_第4张图片

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

use 数据库名;

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

drop database [if exists] 数据库名;

(8) 查看警告信息

show warnings;

(9) SQL中的注释

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

2、常用的数据类型

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

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

【MySQL】数据库基础操作一:建库与建表_第5张图片

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

【MySQL】数据库基础操作一:建库与建表_第6张图片

 ❓问题:区分字节与字符

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

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

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


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

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

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

【MySQL】数据库基础操作一:建库与建表_第7张图片

3、表的基本操作

(1)查看数据库中的表

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

use 数据库名;
show tables;

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

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

举个栗子: 

【MySQL】数据库基础操作一:建库与建表_第8张图片

 (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 '供应商'
)

【MySQL】数据库基础操作一:建库与建表_第9张图片

 

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

【MySQL】数据库基础操作一:建库与建表_第10张图片


【MySQL】数据库基础操作一:建库与建表_第11张图片

 

你可能感兴趣的:(MySQL,数据库,mysql,sql)