mysql(操作数据库 操作表结构 操作表记录)

第⼀章 数据库介绍

1.1 数据库概述

  • 什么是数据库

数据库就是存储数据的仓库,其本质是⼀个⽂件系统,数据按照特定的格式将数据存储起来。⽤户可以对数据库中的数据进⾏增加,修改,删除及查询操作。

集合、⽂件、数据库,三者进⾏存储数据的对⽐:

  1. 集合:数据存储在内存中;问题是,⼀旦程序执⾏完毕了,数据消失了,数据不能永久性的储存
  2. ⽂件:数据储存在磁盘中,可以永久性储存;问题是,当⽂件储存数据量达到⼏个G时,⽂件的打开都成⽂件,数据的操作就更成问题了
  3. 数据库:数据储存的磁盘中,可以永久性储存;当数据量很⼤时,数据操作起来也很流畅;合适数据的频繁的增删改查的操作

1.2 数据库管理系统

数据库管理系统(DataBase Management System,DBMS):指⼀种操作数据库、管理数据库的⼤型软件。
作⽤:⽤于数据库的建⽴、使⽤和维护数据库。

注意:

  1. ⽤户必须通过数据库管理系统才能访问到数据库中表的数据
  2. 数据库中的表,是存储数据的基本单位

数据库管理系统的功能:实现了对多个数据库进⾏统⼀管理和控制,以保证数据库的安全性和完整性

  • 数据库与数据库管理系统的内部结构

在这里插入图片描述

1.3 Java类和数据表的对应关系

数据库中以表为基本单位,进⾏存储数据。那么使⽤我们熟悉的java类 与 数据表对⽐,就会发现以下对应关系。
在这里插入图片描述

  • 表记录与java类的对应关系

在这里插入图片描述

1.4 常⻅数据库

  • 常⻅的数据库

MYSQL:开源免费的数据库,⼩型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。

Oracle:收费的⼤型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。

DB2 :IBM公司的数据库产品,收费的。常应⽤在银⾏系统中.

SQLServer:MicroSoft 公司收费的中型的数据库。C#、.net等语⾔常使⽤。

SyBase:已经淡出历史舞台。提供了⼀个⾮常专业数据建模的⼯具PowerDesigner。

SQLite:嵌⼊式的⼩型数据库,应⽤在⼿机端。

常⽤数据库:MYSQL

我们学习的是MySQL数据库。为了追求⾼性能,开发中多个Mysql,搭建MySQL⾼可⽤负载均衡集群

第2章 MySql数据库

2.1 MySql安装

  • 安装
    参考MySQL安装图解.pdf
    安装后,MySQL会以windows服务的⽅式为我们提供数据存储功能。开启和关闭服务的操作:右键点击我的电脑→管理→服务→可以找到MySQL服务开启或停⽌。
    在这里插入图片描述
    在这里插入图片描述
    也可以在DOS窗⼝,通过命令完成MySQL服务的启动和停⽌(必须以管理员身份运⾏cmd命令窗⼝)
    在这里插入图片描述

2.2 连接Mysql数据库

MySql是一个需要账户名密码进⾏连接的数据库,连接后才能使⽤,它提供了⼀个默认的root账号,使⽤安装时设置的密码即可登录。

-- 格式1,本地连接:cmd> mysql –u⽤户名 –p密码
	mysql -uroot –proot
-- 格式2,远程连接:cmd> mysql --host=ip地址 --user=⽤户名 --password=密码
	mysql --host=127.0.0.1 --user=root --password=root

默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf⽂件。这⾥不做讲解

2.3 MySQL图形化开发⼯具

  • 安装:
    提供的navicat软件为安装版,需要安装后使⽤
  • 使⽤:
    输⼊⽤户名、密码,点击连接按钮,进⾏访问MySQL数据库进⾏操作
    在这里插入图片描述
    下图为 连接mysql以后, 选择了名为"mysql"的数据库, 展示了这个数据库中所有的表。
    在这里插入图片描述

第3章 SQL语句

3.1 SQL概述

SQL语句介绍

数据库是不认识JAVA语⾔的,但是我们同样要与数据库交互,这时需要使⽤到数据库认识的语⾔【SQL语句】,它是数据库的代码。

结构化查询语⾔(Structured Query Language)简称SQL,是关系型数据库管理系统都需要遵循的规范。

不同的数据库⽣产⼚商都⽀持SQL语句,但都有特有内容。
在这里插入图片描述

SQL语句分类

  • SQL分类:
    • 数据定义语⾔:简称DDL(Data Definition Language),⽤来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等
    • 数据控制语⾔:简称DCL(Data Control Language),⽤来定义数据库的访问权限和安全级别,及创建⽤户。
    • 数据操作语⾔:简称DML(Data Manipulation Language),⽤来对数据库中表的记录进⾏更新。关键字:insert,delete,update等
    • 数据查询语⾔:简称DQL(Data Query Language),⽤来查询数据库中表的记录。关键字:select,from,where等
      在这里插入图片描述

SQL语句的书写语法

  • MySQL数据库的SQL语句不区分⼤⼩写,关键字建议使⽤⼤写,以分号结尾。例如:
select * from user;
  • 使⽤/**/、–、#的方式完成注释

SELECT * FROM user; 1

/*
多⾏注释
*/
-- 单⾏注释
# 单⾏注释
SELECT * FROM user;

SQL中数据的常用数据类型

  • MySQL中的我们常使用的数据类型如下

类型名称 说明
int 整数类型
double ⼩数类型
decimal(m,d) 指定整数位与⼩数位⻓度的⼩数类型
date ⽇期类型,格式为yyyy-MM-dd,包含年⽉⽇,不包含时分秒
datetime ⽇期类型,格式为 YYYY-MM-DD HH:MM:SS,包含年⽉⽇时分秒
timestamp ⽇期类型,时间戳
varchar(M) 可变长度⽂本类型, M为0~65535之间的整数
char(M) 固定长度⽂本类型, M为0~65535之间的整数
text:字符串类型,比如小说信息;
blob:字节类型,保存文件信息(视频,音频,图片);

3.2 数据库操作: database

创建数据库

/*创建数据库*/
-- ⽅式⼀: 使⽤指定的字符编码表,创建数据库. 格式: create database 数据库名
character set 字符编码;
-- ⽅式⼆: 使⽤默认的字符编码表,创建数据库. 格式: create database 数据库名;
CREATE DATABASE mydb CHARACTER SET utf8; -- ⽅式⼀
CREATE DATABASE mydb2; -- ⽅式⼆

查看数据库

/*查看数据库*/
-- 查看所有的数据库. 格式: show databases;
SHOW DATABASES;
-- 查看指定数据库的字符编码. 格式: show create database 数据库名;
SHOW CREATE DATABASE mydb;
SHOW CREATE DATABASE mydb2;

删除数据库

/*删除数据库*/
-- 删除数据库. 格式: drop database 数据库名;
DROP DATABASE mydb2;

使⽤数据库

/*使⽤数据库*/
-- 查看当前使⽤的数据库. 格式: select database();
SELECT DATABASE();
-- 设置当前使⽤的数据库. 格式: use 数据库名;
USE mydb;

3.3 表操作:table

创建表

/*
创建表, 格式:
 create table 表名 (
 字段名 数据类型[⻓度] [约束],
 字段名 数据类型[⻓度] [约束],
 ...
 );
注:[]中的内容是可选项
*/
-- 创建表student, 字段包括 编号id\ 姓名name\ 年龄age
CREATE TABLE student (
 id INT,
 NAME VARCHAR(100),
 age INT
);
-- 创建表users, 字段包括 编号id\ ⽤户名username \ 密码password
CREATE TABLE users (
 id INT,
 username VARCHAR(100),
 PASSWORD VARCHAR(100)
);

查看表

-- 查看所有表, 格式: show tables
SHOW TABLES;
-- 查看指定表的建表结构, 格式: show create table 表名;
SHOW CREATE TABLE users;

删除表

-- 删除表, 格式: drop table 表名;
DROP TABLE users;

修改表结构格式

/*
对表中的列进⾏修改
1. 添加新的列, 格式: alter table 表名 add 新列名 数据类型(⻓度);
2. 修改列的数据类型(⻓度), 格式: alter table 表名 modify 列名 修改后的数据类型(⻓ 度);
3. 修改列的名称, 格式: alter table 表名 change 列名 新列名 新列名的数据类型(⻓度);
4. 删除指定列, 格式: alter table 表名 drop 列名;
*/
ALTER TABLE student ADD `desc` VARCHAR(100); -- 添加新的列
ALTER TABLE student MODIFY `desc` VARCHAR(50);-- 修改列的数据类型(⻓度)
ALTER TABLE student CHANGE `desc` description VARCHAR(100);-- 修改列的名称
ALTER TABLE student DROP description;-- 删除指定列
/*
对表进⾏修改
1. 修改表的名称, 格式: rename table 表名 to 新表名;
2. 修改表的字符编码, 格式: alter table 表名 character set 字符编码;
*/
RENAME TABLE student TO stu; -- 修改表的名称
ALTER TABLE stu CHARACTER SET gbk; -- 修改表的字符编码

3.4 表中记录操作

插⼊表记录

/*
插⼊表记录
⽅式⼀, 对指定的字段插⼊值, 格式: insert into 表名(字段1, 字段2, ...) values (值
1, 值2, ...);
⽅式⼆, 对所有字段插⼊值, 格式: insert into 表名 values(值1, 值2, ...);
*/
INSERT INTO student(id, NAME, age) VALUES(1, 'tom', 24);
INSERT INTO student(NAME, age) VALUES('lili', 22);
INSERT INTO student(id, NAME, age) VALUES(3, 'jim', NULL);
INSERT INTO student VALUES(4, 'jack', 26);
INSERT INTO student VALUES(5, 'zhangsan', 26),
 (6,'lisi',27);

  • 注意
  1. 值与字段必须对应, 个数相同, 类型相同
  2. 值的数据⼤⼩必须在字段的指定⻓度范围内
  3. 除了整数\⼩数类型外, 其他字段类型的值必须使⽤引号引起来 (建议单引号)
  4. 如果要插⼊空值, 可以不写字段, 或者插⼊null

更新表记录

-- 更新表记录, 格式: update 表名 set 字段1=, 字段2=... where 条件;
UPDATE student SET NAME='lili', age=21 WHERE id=1;
UPDATE student SET age=25 WHERE age=27;
  • 注意
  1. 列名的类型与修改的值要⼀致
  2. 修改值时不能超过字段的⻓度范围
  3. 除了整数\⼩数类型外, 其他字段类型的值必须使⽤引号扩起来

删除表记录

-- 删除表记录, 格式: delete from 表名 where 条件;
DELETE FROM student WHERE id=1;
DELETE FROM student WHERE age IS NULL;

3.5 DOS命令⾏数据乱码解决(了解)

我们在dos命令⾏操作中⽂时,会报错

insert into student(id,name,age) values(99,'超⼈',25); 
ERROR 1366 (HY000): Incorrect string value: '\xB3\xAC\xC8\xCB' for column'name'at row 1

错误原因:因为mysql的客户端设置编码是utf8,⽽windows系统的cmd窗⼝编码是gbk

  1. 查看MySQL内部设置的编码

在这里插入图片描述

  1. 需要修改client、connection、results的编码⼀致(改为GBK编码)

解决⽅案1:在cmd命令窗⼝中输⼊命令,此操作当前窗⼝有效,为临时⽅案。

set names gbk;

解决⽅案2:安装⽬录下修改my.ini⽂件,重启服务所有地⽅⽣效
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL 数据库是一种关系型数据库管理系统,它可以存储和管理大量的数据。在MySQL中,可以创建多个数据库,每个数据库中包含多个数据,数据由多个列和行组成。基本操作包括创建数据库和数据、插入、查询、更新和删除数据等。MySQL还支持高级操作,例如索引、存储过程、触发器和事务等。 ### 回答2: MySQL是一个开源数据库管理系统,它是使用SQL语言的关系型数据库之一。在MySQL中,你可以执行一系列基本的数据库操作。 第一步是数据库操作。要创建一个新的数据库,可以使用以下语句: CREATE DATABASE database_name; 在MySQL中,所有的数据都存储在中。因此,创建一个新的是非常关键的。可以使用以下语句来创建一个新的: CREATE TABLE table_name ( column_1 data_type, column_2 data_type, … column_n data_type ); 其中,table_name是你打算创建的的名称,column_1至column_n是你打算在中创建的列的名称,而data_type是你打算在每一列中存储的数据类型。 当你需要向中添加新数据时,可以使用INSERT语句。下面是一个例子: INSERT INTO table_name (column_1, column_2, … column_n) VALUES (value_1, value_2, … value_n); 这里,table_name是你打算插入数据的的名称,而column_1至column_n是你打算插入数据的列的名称。value_1到value_n是你打算插入每个列中的值。 要查询中的数据,可以使用SELECT语句。以下是一个例子: SELECT column_1, column_2, … column_n FROM table_name WHERE condition; 其中,column_1至column_n是你打算选择的列的名称。table_name是你打算查询的的名称。condition规定了查询的条件,如果条件不成立,该数据将不在结果中显示。 在MySQL中,你可以使用UPDATE和DELETE语句来更新和删除中的数据。以下是一个例子: UPDATE table_name SET column_name = new_value WHERE condition; DELETE FROM table_name WHERE condition; 以上就是MySQL数据库的基本操作。要牢记的重点是,你需要熟悉SQL语言的基本语法,以便在MySQL中有效地进行数据库操作。 ### 回答3: MySQL是一种关系型数据库管理系统,它是目前世界上最流行的开源数据库之一。MySQL提供了一组工具来管理和操作数据库,这些工具可以在命令行下或在图形用户界面下使用。下面是MySQL数据库的基本操作。 一、数据库的基本操作 1.创建数据库:使用CREATE DATABASE语句创建一个新的数据库。 例如:CREATE DATABASE mydatabase; 2.删除数据库:使用DROP DATABASE语句删除一个现有的数据库。 例如:DROP DATABASE mydatabase; 3.选择数据库:使用USE语句选择要使用的数据库。 例如:USE mydatabase; 4.显示数据库:使用SHOW DATABASES语句显示所有可用的数据库。 例如:SHOW DATABASES; 二、的基本操作 1.创建:使用CREATE TABLE语句创建一个新的。 例如:CREATE TABLE users ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, PRIMARY KEY (id) ); 2.删除:使用DROP TABLE语句删除一个现有的。 例如:DROP TABLE users; 3.插入数据:使用INSERT语句向中插入新的数据。 例如:INSERT INTO users (name, email) VALUES ('John', '[email protected]'); 4.更新数据:使用UPDATE语句更新中现有的数据。 例如:UPDATE users SET email = '[email protected]' WHERE name = 'Jane'; 5.删除数据:使用DELETE语句从中删除数据。 例如:DELETE FROM users WHERE name = 'John'; 6.查询中数据:使用SELECT语句从中检索数据。 例如:SELECT * FROM users; 以上是MySQL数据库的基本操作,这些操作是使用MySQL时必须熟练掌握的基础知识。随着使用的深入,还可以学习高级操作和优化技巧,以提高MySQL数据库的性能和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值