MySQL 数据库基础 · 数据库操作增删查 · 常用数据类型 · 数据表的增删查

ps. SQL语句不区分大小写,本章SQL代码全小写,方便阅读.
ps. SQL语句,结束时建议都加上 ’ ; ’ 分号.


一、数据库的操作

1.1 显示当前的数据库

show databases;


1.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: 指定数据库字符集的校验规则

示例1:

创建 db_test1 的数据库
create database db_test1;

执行结果:
当我们没有指定字符集和校验规则的时候,系统默认使用字符集 utf8,校验规则 utf8_general_ci


示例2:
如果系统没有 db_test2 的数据库,则创建一个名为 db_test2 的数据库,如果有则不创建

create database if not exists db_test2;

执行结果:


示例3:
如果系统没有 db_test 的数据库,则创建一个使用 utf8mb4 字符集的 db_test 数据库,如果有则不创建。

create database if not exists db_test character set utf8mb4;

运行结果:

ps.
MySQL的utf8编码不是真正的utf8,没有包含emoji等复杂中文字符。
MySQL真正的utf8是utf8mb4,建议使用 utf8mb4


1.3 使用数据库

use 数据库名;

展示已有数据库,选择使用 db_test 数据库.


1.4 删除数据库

语法:

drop database [if exists] db_name;

说明:

此条命令慎用!
数据库删除之后,内部看不到对应的数据库,表和数据全部被删除。

drop database is exists db_test1;
drop database is exists db_test2;



二、常用数据类型

2.1 数值类型

在这里插入图片描述


2.2 字符串类型


2.3 日期类型



三、表的操作

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

use db_test;

3.1 查看表结构

desc 表名;

示例:
我们这里使用 java101 数据库,选择之前上传的 student 表查看表结构。

说明:


3.2 创建表

语法:

create table table_name (
	field1 datatype,
	field2 datatype,
	field3 datatype
);

也可以使用 comment 增加字段说明,
也可以使用 - - 表示注释。

示例:

create table stu_test (
	id int,
	name varchar(20) comment '姓名',
	password varchar(50) comment '密码',
	age int comment '年龄',
	-- 性别
	sex varchar(2),
	-- 生日
	birthday timestamp,
	-- 有效数据长度为13位,小数点后2位
	amout decimal(13,2),
	-- 最后一个字段不用逗号
	resume text
);


3.3 删除表

语法格式:

drop [temporary] table [if exists] tbl_name [, tbl_name] ...

示例:

drop table stu_test;

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



四、总结重点

4.1 操作数据库

-- 显示
show databases;

-- 创建
create database 数据库名;

-- 使用
use 数据库名;

-- 删除
drop database 数据库名;

4.2 常用数据类型

int : 整型
decimal(m,d) : 浮点数类型
varchar(size) : 字符串类型
timestamp : 日期类型

4.3 操作表

-- 查看
show 表名;

-- 创建
create table 表名(
	字段1 类型1,
	字段2 类型2,
	字段3 类型3
);

-- 删除
drop table 表名;


五、练习题

有一个商店的数据,记录客户及购物情况,有以下三个表组成:
	商品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)

SQL

-- 创建数据库
create database if not exists bit32mall default character set utf8;

-- 选择数据库
use bit32mall;

-- 创建数据库表
-- 商品
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 '购买数量'
);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值