MySQL数据库基础

时间:2022-07-24
本文章向大家介绍MySQL数据库基础,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.数据库的操作

显示当前数据库

SHOW DATABASES;

创建数据库

语法:
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: 指定数据库字符集的校验规则
  • 当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci
#创建名为db_test1 的数据库
mysql> create database db_test1;
Query OK, 1 row affected (0.00 sec)
#如果系统没有db_test1 的数据库,则创建一个名叫db_test2 的数据库,
#如果有则不创建
mysql> create database db_test1;
ERROR 1007 (HY000): Can't create database 'db_test1'; database exists
mysql> create database IF NOT EXISTS db_test1;
Query OK, 1 row affected, 1 warning (0.00 sec)
#如果系统没有db_test 的数据库,则创建一个使用utf8mb4字符集
#的db_test 数据库,如果有则不创建
mysql> CREATE DATABASE IF NOT EXISTS db_test CHARACTER SET utf8mb4;
Query OK, 1 row affected (0.01 sec)

使用数据库

use 数据库名;

删除数据库

DROP DATABASE [IF EXISTS] db_name;
说明:

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

2.尝用数据类型

数值类型

分为整形和浮点型

数据类型

大小

说明

BIT[ (M) ]

M指定位数,默认为1

二进制数,M范围从1到64,存储数值范围从0到2^M-1

TINYINT

1字节

SMALLINT

2字节

INT

4字节

BIGINT

8字节

FLOAT(M, D)

4字节

单精度,M指定长度,D指定小数位数。会发生精度丢失

DOUBLE(M,D)

8字节

DECIMAL(M,D)

M/D最大值+2

双精度,M指定长度,D表示小数点位数。精确数值 BigDecimal

NUMERIC(M,D)

M/D最大值+2

和DECIMAL一样

字符串类型

数据类型

大小

说明

VARCHAR (SIZE)

0-65,535字节

可变长度字符串

TEXT

0-65,535字节

长文本数据

MEDIUMTEXT

0-16 777 215字节

中等长度文本数据

BLOB

0-65,535字节

二进制形式的长文本数据

日期类型

数据类型

大小

说明

DATETIME

8字节

范围从1000到9999年,不会进行时区的检索及转换。

TIMESTAMP

4字节

范围从1970到2038年,自动检索当前时区并进行转换。

3.表的操作

  • 需要操作数据库中的表时,需要先使用该数据库:
use db_test;

查看表结构

desc 表名;

例:

创建表

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
);

删除表

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

用例:

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