0の基本からMySQLデータベースを学ぶ(1)

MySQLデータベーステクノロジー

1つは、データベースの基本概念です。

1. Javaデータはどのように保存されますか?

変数、配列、コレクション、オブジェクト

メモリ内:高速ですが、欠点を永続的に保存することはできず、データは一時的な状態にあります

ファイル:IOを介してファイルに保存できますが、データベースの操作は安全で便利ではありません

データベース:永続的なストレージ、高速なクエリ速度、便利なデータ管理、安全性、欠点がリソースを占有

2.データベースとは

データを保存および管理するためのウェアハウス。コンピューターに保存され、整理され、共有可能な大量のデータのコレクションです。

データベース:データベース略語:DB

3.データベースの利点

大量のデータを保存できます

検索が簡単

データの一貫性と整合性を維持する

安全で共有可能

組み合わせ分析により、新しいデータを生成できます

4.一般的に使用されるデータベース

リレーショナルデータベースSQL

MySQL

オラクル

SQLサーバー

MongoDB

IBM Db2

非リレーショナルデータベースNOSQL

5.MySQLが選択する理由

MySQLデータベースは現在、人気のあるオープンソースの無料のリレーショナルデータベースです

小さくて完全に機能する

ポータブルを使用する

WindowsまたはLinuxオペレーティングシステムで実行できます

中規模、小規模、さらには大規模なWebサイトアプリケーションに適しています

2.MySQLデータベースの一般的な操作

1.MySQL開始サービス

①手動起動:私のコンピュータ管理サービス

②DOSコマンド開始:win + r実行ウィンドウにcmdと入力し、services.mscと入力してサービスウィンドウを開きます。

③実行中のウィンドウに直接services.mscと入力して、サービスウィンドウを直接開きます

④管理者としてcmdコマンドラインを開き、net startmysqlと入力します。

ネットストップmysql終了

2.MySQLデータベースにログインします

①mysql-uユーザー名-pパスワード

②mysql-hIPアドレス-uユーザー名-pパスワード

3.MySQLデータベースを終了します

終了または終了

4.MySQLデータベースのディレクトリ

3、SQL言語

1. SQL言語とは何ですか?

结构化查询语言:Structured Query Language  是一种所有关系型数据库的查询规范,不同的数据库都支持,通用的数据库操作语言,操作所有关系型数据库的规则

2.SQLの一般的な構文

1.SQL 语句可以单行或者多行,以分号结束
show databases;显示所有数据库信息

2.MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
Show DataBases;

3.三种注释
①-- 注释 (-- 后面有空格)
②#注释内容
③/* 注释  */

3.SQL分類

1.DDL(Data Definition Language) 数据定义语言:
	用来定义数据库对象,数据库、数据表、列表,关键字:creat drop alter等等
2.DML(Data Manipulation Language) 数据操作语言:
	用来对数据中表的数据进行增删改操作,关键字:insert delete update等等
3.DQL(Data Query Language) 数据查询语言:
	用来查询数据库中表的数据, 关键字:select where等等
4.DCL(Data Control Language)数据控制语言
	用来定义数据库的访问权限和安全级别,关键字:grant revoke等等

4、DDLデータ定義言語、オペレーティングデータベース、テーブル

1.データベースの操作

CRUD:

1.1C:作成
-- 创建数据库
create database 数据库名称;

-- 判断不存在,则创建
create database if not exists 数据库名称;

-- 指定字符集
create database 数据库名称 character set 字符集名称;

1.2R:クエリを取得
-- 查询所有数据库的名称
show databases;

-- 查询某个数据库的字符集
show create database 数据库名称;
1.3U:アップデート
-- 修改数据库的字符集
alter database 数据库名称 character set 字符集名称
1.4D:削除
-- 删除数据库
drop database 数据库名称;

-- 判断数据库存在,则删除
drop database if exists 数据库名称;
1.5その他の操作
-- 查询当前是否处于某一个数据库下
select database();

-- 切换到当前数据库
use 数据库名称;

2.運用データシート

2.1作成
-- 创建表语法
create table 表名(
	列名1 数据类型1,
    列名2 数据类型2,
    ……
    列名n 数据类型n
);
mysql在自定义表名和列名时,规则
①必须以字母开头
②长度不能超过30字符
③不能使用关键字,如mysql
④只能使用如下字符:A-Z,a-z,0-9,$,下划线,但不能使用空格和单引号

-- 常用数据类型,主要使用在列上
1.整数类型:int(长度);
	age int(2);
2.小数类型:double(长度);
	score double(5,2);5为最多位,2表示保留2位小数,最大值999.99
3.日期类型:date
	表示:yyyy-MM-dd
4.datatime:不赋值默认null
	表示:yyyy-MM-dd HH:mm:ss
5.timestamp:时间戳类型
包含年月日时分秒,但是秒值精确到小数位后6位,一般银行会用
不赋值,默认当前系统时间,自动赋值
6.字符类型:char(长度);
	固定长度字符类型,
	name char(10); 
	'你好'占用了前4个字符,后6个会空格补齐
7.字符串类型:verchar(长度)
	动态,
	name verchar(10);
	'你好'占用了前4个字符,则自动分配4个字符,节约空间
8.字符串类型:text 长度(0-65535字节)
9.bolb:字节类型
10.clob:字符类型

-- 创建学生表
create table student(
	id int,-- 学号
    name varchar(50), -- 姓名
    age int(10), -- 年龄
    score double(4,1), -- 成绩
    birthday date, -- 生日
    insert_time timestamp -- 添加时间

);
2.2クエリの取得
-- 查询某个数据库中所有表名称
show tables;

-- 查询创建表的SQL语句
show create table 表名;

-- 查询表的结构;
desc 表名;
2.3更新の変更
1.添加一列,学生性别 sex
alter table 表名 add 列名 数据结构

2.修改列名、数据类型
alter table 表名 change 列名 新类名 数据类型;
alter table 表名 modify 列名 新数据类型;

3.删除列
alter table 类名 drop 列名;

4.修改表名
alter table 表名 rename 新表名;

5.修改表的字符集
-- 显示创建时的SQL语句
show create table 表名;
alter table 表名 character set utf8;
2.4D:削除
-- 删除表
drop table 表名;
drop table if exists 表名; -- 存在则删除

5、DML(データ操作言語)データテーブルの追加、削除、および変更操作

1.1データの挿入

语法:
insert into 表名(列名1,列名2……列名n) values(1,值2……值n);
-- 案例
 insert into stu(id,name,sage,score,birthday,insert_time)values(001,'zhangsan',18,97.5,null,null);
 -- 第一个null就是null,第二个null,因为是时间戳类型,默认当前时间
 
-- 插入所有列时,可以不定义列名,默认插入顺序和创建顺序一致
insert into stu values(003,'changjian',18,97.5,null,null);

-- 注意:
1.列名和值要一一对应;
2.除了数字类型,其他类型都要引号
-- 插入部分字段(部分列)
insert into stu(id,sage,score) values(004,19,99.99);

-- 复制表
create table 新表名 like 表名;-- 只是创建了表结构,表内无数据

-- 数据迁移
insert into 新表 select * from 表名;

-- 复制部分字段
insert into 新表(id,name,age) select id,name,age from 表名;

[外部リンクの画像転送に失敗しました。ソースサイトにホットリンク防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-ooxtEKTp-1607864427611)(C:\ Users \ 24582 \ AppData \ Roaming \ Typora \ typora-user-images \ image-20201212122246714.png)]

1.2データを削除する

语法:
	delete from 表名 [where 条件]
1.删除一条记录
delete from stu where 
id=2;
2.如果不加条件则会删除全部数据,但是表结构还在
写日志,速度慢,但安全性高,可以恢复
delete from 表名;
drop table 表名;-- 直接删除表结构以及数据
3.如果我们要删除所有记录,速度快,不写日志,不可以恢复
truncate table 表名; -- 先删除表,再给创建一张一样的表,无法数据恢复

注意:deletetruncate区别?

1.3データの変更

语法:
update 表名 set 列名1 = 值1,列名2 = 值2……[where 条件]

-- 修改一个字
 update stu set sage = 20 where id=2;
-- 修改多个字段
update stu set  name='taoc',sage = 18,score = 99.0 where id=3;

-- 数据库默认编码格式UTF8 客户端gbk,
所有插入中文应该转化;

-- 注意:当修改含有null值的数据,不能用 = null,要用is null,is not null 判断

おすすめ

転載: blog.csdn.net/zjdzka/article/details/111145322