MySQL数据库的基础

文章内容:

  • 数据库操作:创建数据库、删除数据库
  • 常用数据类型
  • 表的操作:创建表、删除表

本文章是在命令行窗口进行操作的

目录

1.数据库的操作

1.1创建数据库

字符集和校验规则:

数据库创建:

1.2显示当前数据库

1.3使用数据库

1.4 删除数据库

2.常用的数据类型

2.1数值类型:

2.2字符串类型

 2.3日期类型

3.表的操作

3.1查看表结构

 3.2创建表

3.3删除表

4.内容重点总结


1.数据库的操作

1.1创建数据库

语法:

create database [if not exists] database_name [create_specification [,
create_specification]...]

creaet_specification:
    [default] character set charset_name
    [default] collate collation_name

说明:

  • create_specification指创建数据库的详细描述;
  • 本文用小写,database_name和create_specification不为关键字外,其他都为关键字;
  • []里面的内容是可选项;
  • character set:指定数据库采用的字符集;
  • collate:指定数据库字符集的校验规则;

字符集和校验规则:

  • 字符集:是用来定义存储数据的编码方式。
  • 校验规则:比较字符串的规则。

MySQL支持多种字符集,包括但不限于latin1,utf8,utf8mb4等,其中utf8mb4是一种常用的字符集。

在创建数据库或表时,可以指定对应的字符集和校验规则。

如:

create database mydatabase
character set utf8mb4
collate utf8mb4_unicode_ci;

在上面的例子中, 创建了一个名为mydatabase的数据库,并指定了字符集为utf8mb4和校验规则为utf8mb4_unicode_ci。

create table mytable(
    id int auto_increment,
    content varchar(255),
    primary key (id)
)character set utf8mb4 collate utf8mb4_unicode_ci;

在这个例子中,创建了一个名为mytable的表,并指定了字符集和校对规则。

查看所有可用的字符集和校对规则:

show character set;
show collation;

说明:当我们创建数据库没有指定字符集和校验规则时,系统默认使用字符集:utf8,但MySQL的utf8编码不是真正的utf8,没有包含某些法则的中文字符,MySQL真正是使用utf8mb4;系统默认使用校验规则时:utf8_general_ci。

数据库创建:

  • 创建名为:db_test1的数据库:
create database db_test1;
  • 如果系统没有db_test2的数据库,则创建一个名为db_test2的数据库,如果有则不创建,以防万一。
create database if not exists db_test2;

1.2显示当前数据库

show databases;

1.3使用数据库

use 数据库名;

1.4 删除数据库

语法:

drop database [if exists] db_name;

说明:if exists 是一个可选子句,使用后当数据库不存在时,MySQL将不会返回错误,如果没有指定,尝试删除一个不存在的数据库将导致一个错误。

使用删除语句后,内部将不会看到对应的数据库,里面的表和数据全部被删除。


2.常用的数据类型

2.1数值类型:

分为整型和浮点型:

 下面的内容是根据MySQL8.4参考手册的:

 decimal和numeric的存储是一样的。

其他类型:

数值类型可以指定为无符号(unsigned),表示不取负数。

精度更高的可以用decimal来存储(精度更高了,但是,运算速度会变慢,占用的空间也越多)。

1字节(bytes)=8bit。

对于整型类型的范围:

  1. 有符号范围:-2^(类型字节数*8-1到2^(类型字节数*8-1)-1,如int是4字节,就是-2^31到2^31-1)。
  2. 无符号范围:0到2^(类型字节数*8)-1,如int就是2^32-1。

尽量不要使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存不下,与其如此,还不如设计时,将int类型提升为bigint类型。

2.2字符串类型

 说明:

  • varchar:size表示该类里最多存储几个字符(不是字节)如写了size为10,不是说当前就立即分配10个字符的存储空间...是会先分配一个比较小的空间,如果不够,自动扩展,最大空间不超过10(一个汉字,算是一个字符,但可能是对应多个字节)。
  • blob:存储二进制的数据。

 2.3日期类型

 说明:

对于日期类型还有:

  • data:精确到年月日如:2024-09-25
  • time:时间型,精确到时分秒,如:08:05:30
  • datatime:时间日期型,更加精准,如:2024-09-25 08:05:30
  • year:年份型,如:2024
  • timestamp:时间戳型,如:20220101 080530,更上面相比相当于少了 - 。

3.表的操作

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

use db_test;

3.1查看表结构

desc 表名;

eg .

 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,
    sex varchar(1),
    birthday timestamp,
    amout decimal(13,2),
    resume text
);

3.3删除表

语法格式:

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

示例:

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

4.内容重点总结

  • 操作数据库
--显示
show database;
--创建
create database ...;
--使用
use ....;
--删除
drop database ....;
  • 常用数据类型
  1. int:整型
  2. decimal(m,d):浮点数类型
  3. varchar(size):字符串类型
  4. timestamp:日期类型
  • 操作表
--查看
show 表;

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

--删除
drop table 表名; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小凌不是林

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值