欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库基础

程序员文章站 2022-03-09 08:04:54
...

一、数据库的操作

1、显示当前的数据库

SHOW DATABASES;

2、创建数据库

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, 
create_specification] ...]

create_specification:
	[DEFAULT] CHARACTER SET charset_name
	[DEFAULT] COLLATE collation_name

说明:

  • 大写的表示关键字,也可使用小写,这里不区分大小写
  • [] 是可选项
  • CHARACTER SET:指定数据库采用的字符集
  • COLLATE:指定数据库字符集的校验规则
-- 创建名为db_test1的数据库
-- 当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8
-- 校验规则是:utf8_ general_ ci

CREATE DATABASE db_test1;
-- 如果系统没有db_test2的数据库,则创建一个名叫db_test2的数据库,
-- 如果有则不创建
-- 这一创建数据库的方法较第一个可以检查即将被创建数据库名是否已经被创建

CREATE DATABASE IF NOT EXISTS db_test2;

-- 如果系统没有db_test的数据库,则创建一个使用utf8mb4字符集的db_test数据库,
-- 如果有则不创建
-- MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符
-- MySQL真正的utf8是使用utf8mb4,建议使用utf8mb4

CREATE DATABASE IF NOT EXISTS db_test CHARACTER SET utf8mb4;

3、使用数据库

use 数据库名;

4、删除数据库

-- 这种方法会检查要删除的数据库是否存在,如果存在就删除,不存在也不会报错
DROP DATABASE [IF EXISTS] db_name;
-- 这种方法是直接删除数据库。如果存在,成功删除,如果不存在,会报错
DROP DATABASE db_name;

-- 数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除

数据库基础
数据库基础
数据库基础

二、常用数据类型

数据库基础

三、表的基本操作

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

use db_test;
-- 查看表结构
desc 表名;

-- 创建表
CREATE TABLE table_name (
	field1 datatype,
	field2 datatype,
	field3 datatype
);

数据库基础
数据库基础

-- 删除表
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

--删除 stu_test 表
drop table stu_test;
--如果存在 stu_test 表,则删除
drop table if exists stu_test;

数据库基础
举个栗子吧!

有一个商店的数据,记录客户及购物情况,由以下三个表组成

  • 商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category,
    供应商provider)
  • 客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex,身份证card_id)
  • 购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums)
 -- 创建数据库
 create database if not exists store default character set utf8;
  
  -- 选择数据库
  use store;
  
  -- 创建数据库表
  -- 商品
  create table if not exists goods
 (
      goods_id  int comment '商品编号',
      goods_name varchar(32) comment '商品名称',
      unitprice  int comment '单价,单位分',
      category  varchar(12) comment '商品分类',
      provider  varchar(64) comment '供应商名称'
 );
  
  -- 客户
  create table if not exists customer
 (
      customer_id  int comment '客户编号',
      name varchar(32) comment '客户姓名',
      address  varchar(256) comment '客户地址',
      email  varchar(64) comment '电子邮箱',
      sex bit comment '性别',
      card_id varchar(18) comment '身份证'
  );
  
  -- 购买
  create table if not exists purchase
  (
      order_id  int comment '订单号',
      customer_id int comment '客户编号',
      goods_id  int  comment '商品编号',	
      nums  int comment '购买数量'
 );