MySQL葵花宝典

这篇博客详细介绍了MySQL数据库的基础操作,包括创建、使用和删除数据库,数据类型的使用,以及表的操作。进一步深入,讲解了MySQL的CRUD操作,如新增、查询、更新和删除,以及数据库约束和表设计。还涉及了索引和事务的概念、作用及使用,最后讨论了JDBC在数据库连接和操作中的应用。
摘要由CSDN通过智能技术生成

一.数据库基础

1.数据库的操作

1.1显示当前的数据库

show databases

1.2创建数据库

create database [if not exists] db_name;

1.3使用数据库

use db_name;

1.4删除数据库

drop database [if exists] db_name;

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

2.常用数据类型

2.1

数据类型 大小
BIT[(M)] 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指定小数位数。精确数值
NUMERIC(M,D) M/D最大值+2,和DECIMAL一样

数值类型可以指定为无符号(unsigned),表示不取负数。(尽量不适用unsigned)
1字节(bytes)=8bit

2.2字符串类型

数据类型 说明
varchar(size) 可变长度字符串
text 长文本数据
mediumtext 中等长度文本数据
BOLB 二进制形式的长文本数据

2.3日期类型

数据类型 说明
datetime 8字节,1000-9999年,不会进行时区的检索及转换
timestamp (时间戳)4字节,1970-2038,自动检索当前时区并进行转换

3.表的操作

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

use db_name;

3.1查看表

desc tb_name; //查看表名
show create table tb_name; //查看表结构+表编码
show tables//查看当前数据库一共有多少表

在这里插入图片描述

3.2创建表

create table tb_name (
   field1 datatype,
   field2 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.3删除表

drop table [if exists] tb_name;

3.4修改表内容

alter table tb_name add+新列名称+类型;//新增一列
alter table tb_name change+原列名+新列名+新列类型;//修改某一列
alter table tb_name 旧表名 rename 新表名;//修改表名称
alter table tb_name convert to character set 新编码; //修改表编码

二.MySQL表的CRUD

CURD即增加、查询、更新、删除

1、新增(create)

insert [into] tb_name (属性名) value (属性值);

案例:

-- 创建一张学生表
DROP TABLE IF EXISTS student;
CREATE TABLE student (
   id INT,
   sn INT comment '学号',
   name VARCHAR(20) comment '姓名',
   qq_mail VARCHAR(20) comment 'QQ邮箱'
);

1.1单行数据插入+全列插入

-- 插入两条记录,value_list 数量必须和定义表的列的数量及顺序一致
INSERT INTO student VALUES (100, 10000, '唐三藏', NULL);
INSERT INTO student VALUES (101, 10001, '孙悟空', '11111');

1.2 多行数据+指定列插入

-- 插入两条记录,value_list 数量必须和指定列数量及顺序一致
INSERT INTO student (id, sn, name) VALUES
 (102, 20001, '曹孟德'),
 (103, 20002, '孙仲谋');

2.查询(retrieve)

语法:

SELECT
 [DISTINCT] {
  * | {
  column [, column] ...} 
 [FROM table_name]
 [WHERE ...]
 [ORDER BY column [ASC | DESC], ...]
 LIMIT ...

其中distinct为去重,asc为升序,desc为降序

案例:

-- 创建考试成绩表
DROP TABLE IF EXISTS exam_result;
CREATE TABLE exam_result (
 id INT,
 name VARCHAR(20),
 chinese DECIMAL(3,1),
 math DECIMAL(3,1),
 english DECIMAL(3,1)
);
-- 插入测试数据
INSERT INTO exam_result (id,name, chinese, math, english) VALUES
 (1,'唐三藏', 67, 98, 56),
 (2,'孙悟空', 87.5, 78, 77),
 (3,'猪悟能', 88, 98.5, 90),
 (4,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值