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;

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

相关推荐
惊讶的猫1 小时前
Redis持久化介绍
数据库·redis·缓存
Apple_羊先森1 小时前
ORACLE数据库巡检SQL脚本--19、磁盘读次数最高的前5条SQL语句
数据库·sql·oracle
全栈前端老曹2 小时前
【MongoDB】Node.js 集成 —— Mongoose ORM、Schema 设计、Model 操作
前端·javascript·数据库·mongodb·node.js·nosql·全栈
神梦流2 小时前
ops-math 算子库的扩展能力:高精度与复数运算的硬件映射策略
服务器·数据库
让学习成为一种生活方式2 小时前
trf v4.09.1 安装与使用--生信工具42-version2
数据库
啦啦啦_99992 小时前
Redis-5-doFormatAsync()方法
数据库·redis·c#
生产队队长3 小时前
Redis:Windows环境安装Redis,并将 Redis 进程注册为服务
数据库·redis·缓存
老邓计算机毕设3 小时前
SSM找学互助系统52568(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·javaweb 毕业设计
痴儿哈哈3 小时前
自动化机器学习(AutoML)库TPOT使用指南
jvm·数据库·python
洛豳枭薰3 小时前
Innodb一次更新动作
mysql