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;

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

相关推荐
3 分钟前
TIDB——PD(placement Driver)
java·数据库·分布式·tidb·
计算机毕设指导67 分钟前
基于微信小程序的鸟博士系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
DemonAvenger10 分钟前
Redis与MySQL双剑合璧:缓存更新策略与数据一致性保障
数据库·redis·性能优化
断春风21 分钟前
如何避免 MySQL 死锁?——从原理到实战的系统性解决方案
数据库·mysql
闲人编程22 分钟前
基础设施即代码(IaC)工具比较:Pulumi vs Terraform
java·数据库·terraform·iac·codecapsule·pulumi
QQ_216962909629 分钟前
Spring Boot大学生社团管理平台 【部署教程+可完整运行源码+数据库】
java·数据库·spring boot·微信小程序
玉成22634 分钟前
MySQL两表之间数据迁移由于字段排序规则设置的不一样导致失败
数据库·mysql
dblens 数据库管理和开发工具43 分钟前
DBLens:让 SQL 查询更智能、更高效的数据库利器
服务器·数据库·sql·数据库连接工具·dblens
TDengine (老段)1 小时前
TDengine 在新能源领域的最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
Alluxio1 小时前
Alluxio正式登陆Oracle云市场,为AI工作负载提供TB级吞吐量与亚毫秒级延迟
人工智能·分布式·机器学习·缓存·ai·oracle