MySQL数据库基础操作:

1.数据库基本操作:

1.1:显示当前数据库:

sql 复制代码
show databases;
SHOW DATABASES;

1.1.1注意:在MySQL中,不区分字母大小写;

1.2:创建数据库:

sql 复制代码
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, 
create_specification] ...]
create_specification:
 [DEFAULT] CHARACTER SET charset_name
 [DEFAULT] COLLATE collation_name

1.2.1注意

1.在代码第四行:SET charset~name代表在创建数据库的时候,可以指定一个字符集;

2.在代码第五行:COLLATE为指定数据库字符集的校验规则,由于mysql不支持拼音序,所以它比较依赖第三方库,多用于Java代码实现。

1.2.2应用

第一条语句是创建数据库Java115,第二条语句加上了一个判断条件 if not existe 意思是判断java115数据库是否存在,如不存在则创建,如存在则不执行创建操作;

sql 复制代码
create database java115;
create database if not exists java115;//进行重复判定
create database if not exists java115 charset utf8mb4;//制定一个字符集

**1.2.3补充:**这里对上面提到的字符集进行一些补充:

1》.字母和数字我们通常用ASCII值进行表示(范围0-127),大小为一个字节;

2》.对中文来说,最常用的表示方法主要有两种:

a.GBK(早期使用的一种方案):2个字节表示一个汉字;

b.UTF-8(当下最流行的方案)变长编码:1-4个字节,对于中文,通常是三个字节;

特别的,在Java中 char 是2个字节表示一个汉字,这里使用的是UTF-16(它和UTF-8有一定关系);

c.UTF-8mb4才是字符集的完全体,UTF-8是它的一个子集。

1.3使用数据库:

sql 复制代码
use 数据库名;
use java115;

1.3.1注意:

对于一个数据库服务器·,一般有多个数据库,都应先选中再操作(使用数据库),这是对表进行操作的前提。

1.4:删除数据库:

sql 复制代码
DROP DATABASE [IF EXISTS] db_name;
drop database if exists db_test1;
drop database if exists db_test2;

1.4.1:注意:

1.在代码第二三行,这里的 if exists 是一种条件判断(安全机制),意思是仅当数据库存在时才执行删除,避免因数据库不存在而报错。

2.常用的数据类型:

2.1整形和浮点型:

说明:此图为借用。

2.2字符串类型:

2.3:日期类型:

3.表的操作:

**前提:**在操作数据库中的表之前需要先使用该数据库,语法见前;

3.0查看表:

sql 复制代码
show 表名;

3.1:查看表结构:

sql 复制代码
desc 表名;

3.2:创建表:

create table 表名 (列名 类型,列名 类型,列名 类型.............);

sql 复制代码
CREATE TABLE table_name (
 field1 datatype,
 field2 datatype,
 field3 datatype
);

还可以使用 comment 字段进行说明:

sql 复制代码
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
);

**注意:**1.engine存储引擎:mysql是数据库,本体是服务器,mysql的服务器是一个很复杂的软件,它包含了很多个模块,存储引擎就是其中之一,他负责如何在硬盘上进行存储的模块;MySQL提供了多种存储引擎,我们可以根据需求进行替换,但通常使用的是lnnodb这个引擎;

2.在MySQL中,如果表示表名/列名,当这个名字需要通过2个及以上的单词构成的时候,通常用"蛇形命名法"来命名,即用下划线分割多个单词。

例如:

sql 复制代码
create table student1
(student_id int,student_name varchar(10),student_age int,student_gender varchar(1));
desc student1;

3.3删除表(谨慎操作!!!):

sql 复制代码
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;

3.4修改表:

3.4.1:添加列:

sql 复制代码
ALTER TABLE table_name
ADD column_name data_type [constraint];
sql 复制代码
alter table student1 add class_id int after student_gender;

3.4.2:修改列:

sql 复制代码
ALTER TABLE table_name
ADD COLUMN column_name data_type [constraint];

3.4.3:删除列:

sql 复制代码
ALTER TABLE table_name DROP COLUMN column_name;

3.4.4:重命名列:

sql 复制代码
ALTER TABLE old_table_name
RENAME TO new_table_name;

应用:

sql 复制代码
alter table student1 rename COLUMN class_id to classId;

本章完.........下节更新增删查改功能.........

相关推荐
Blossom i1 小时前
大数据预处理与采集实验一:使用Python操作MySQL数据库
数据库·mysql
InfinitePlus2 小时前
Docker MySQL搭建一主一从
mysql·docker
雾时之林2 小时前
Linux--软件管理、源码包安装
linux·服务器·数据库
老纪的技术唠嗑局4 小时前
超级干货分享:中小企业使用 OceanBase 实践经验汇总
数据库
CLOUD ACE4 小时前
谷歌云代理|零售商Target 如何利用 Spanner Graph 提升零售发现体验并将数据库维护成本降低 50%
数据库·零售
AI大模型-小雄4 小时前
Codex写分页接口为什么越翻越慢?用Cursor Pagination解决重复与漏数据
大数据·数据库·elasticsearch·搜索引擎·chatgpt·后端开发·codex
少晓年5 小时前
从 MySQL 迁移到人大金仓 KingbaseES:完整指南与实践
数据库·mysql
SelectDB5 小时前
Apache Doris AI RAG 实战:从基础 RAG 到知识图谱增强的技术能力与选型
数据库
SelectDB6 小时前
电商企业 PostgreSQL 迁移 Apache Doris:80TB 分析数据统一平台技术能力与实践
数据库
SelectDB6 小时前
阶跃星辰 Agent 可观测:Apache Doris / SelectDB 的技术能力与实践
数据库