当前位置: 首页 > news >正文

2. MySQL数据库基础

一、数据库的操作

1. 显示当前的数据库

SHOW DATABASES;

2. 创建数据库

语法:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification...];//create_specification包括:[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_name

说明:

  • 大写的表示关键字
  •  [ ] 是可选项
  • CHARACTER SET:指定数据库采用的字符集
  • COLLATE:指定数据库字符集的校验规则

示例:

  • 创建名为 db_test1 的数据库。
    CREATE DATABASE db_test1;
  • 如果系统没有 db_test2 的数据库,则创建一个名叫 db_test2 的数据库,如果有则不创建。
    CREATE DATABASE IF NOT EXISTS db_test2;
  • 如果系统没有 db_test 的数据库,则创建一个使用 utf8mb4 字符集的 db_test 数据库,如果有则不创建。
    CREATE DATABASE IF NOT EXISTS db_test CHARACTER SET utf8mb4;

3. 使用数据库

use 数据库名;

4. 删除数据库

语法:

DROP DATABASE [IF EXISTS] db_name;

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

示例:

drop database if exists db_test1;
drop database if exists db_test2;

二、常用数据类型

1. 数值类型

分为整型和浮点型:

扩展资料:

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

1字节(bytes)= 8bit。

对于整型类型的范围:

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

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

2. 字符串类型

3. 日期类型

三、表的操作

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

use db_test;

1. 查看表

--查看表
show tables;--查看表结构
desc 表名;

示例:

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. 删除表

语法:

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;

4. 修改表

4.1 修改表名

语法1:

alter table 旧表名 rename to 新表名;

语法2:

rename table 旧表名1 to 新表名1,旧表名2 to 新表名2,旧表名3 to 新表名3,...,旧表名n to 新表名n;

4.2 增加列

语法1:在建表完后,需要增加一些列:

alter table 表名 add column 列名 数据类型 [列的属性];

语法2:把新增的这一列,放到第一列:

alter table 表名 add column 列名 数据类型 [列的属性] first;

语法3:在某一个列后面新增一列:

alter table 表名 add column 列名 数据类型 [列的属性] after 指定列名;

4.3 删除列

语法:

alter table 表名 drop column 列名;

4.4 修改列的信息

注意:在修改后的数据类型和属性一定要兼容表中现有的数据。

语法1:只能修改列的相关数据类型和属性。

alter table 表名 modify 列名 新数据类型 [新属性];

语法2:既可以修改数据类型和属性,也可以修改列名。

alter table 表名 change 旧列名 新列名 新数据类型 [新属性];

语法3:将某列设为表的第一列。

alter table 表名 modify 列名 列的类型 列的属性 first;

语法4: 将某列放到指定列的后面。

alter table 表名 modify 列名 列的类型 列的属性 after 指定列名;
http://www.lryc.cn/news/464882.html

相关文章:

  • java集合进阶篇-《泛型》
  • pytorh学习笔记——cifar10(三)模仿VGGNet创建卷积网络
  • 题目:连续子序列
  • 深入解析:Nacos AP 模式的实现原理与应用场景
  • snmpnetstat使用说明
  • linux线程 | 同步与互斥 | 互斥(下)
  • 2024-10-17 问AI: [AI面试题] 讨论 AI 的挑战和局限性
  • go基础(一)
  • python忽略warnings 的方法
  • 2024年底蓝奏云最新可用API接口列表 支持优享版 无需手动抓取cookie
  • Linux常用命令详细解析(含完整命令演示过程)
  • 《使用Gin框架构建分布式应用》阅读笔记:p101-p107
  • 014集——c#实现打开、另存对话框(CAD—C#二次开发入门)
  • 全面升级:亚马逊测评环境方案的最新趋势与实践
  • Java中的异步编程模型
  • opencv 按位操作
  • 【Bug】STM32串口空闲中断接收不定长数据异常
  • 使用Radzen Blazor组件库开发的基于ABP框架炫酷UI主题
  • Java入门4——输入输出+实用的函数
  • 《当尼采哭泣》
  • TOMCAT Using CATALINA——OPTS,闪退解决方法(两种)
  • Android音视频 MediaCodec框架-启动编码(4)
  • # Go 语言中的 Interface 和 Struct
  • SSM与Springboot是什么关系? -----区别与联系
  • MATLAB小波变换图像融合系统
  • nginx-安装和80端口映射多域名和ssl
  • SVN小乌龟 create patch 和 apply patch 功能
  • #MySQL `SELECT` 语句执行流程详解
  • docker容器运行一段时间提示Failed to initialize NVML: Unknown Error
  • PPT自动化:快速更换PPT图片(如何保留原图片样式等参数更换图片)