java实训-2020.9.14持更

实训第一天

所用的软件

java实训-2020.9.14持更
java实训-2020.9.14持更
懒人安装,一直next
附上个安装教程链接:P7 007_MySQL基础_MySQL软件的安装
java实训-2020.9.14持更
直接解压就行,附带有***

相关概念

1.DB:数据库,保存一组有组织的数据的容器
2.DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据
3.SQL:结构化查询语言,用于和DBMS通信的语言
4. 存储引擎:如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法
5. 字符序(Collation):在同一字符集内字符之间的比较规则。 只有确定字符序后,才能在一个字符集上定义什么是等价的字符, 以及字符之间的大小关系。每个字符序唯一对应一种字符集,一 个字符集可以对应多种字符序,其中有一个是默认字符序 (Default Collation)。

基本操作

查看版本:select version;
查看数据库: show databases;
设置当前的数据库:use 数据库名;
显示数据库中的表信息:show tables;(还可以show tables from 数据库)
查看具体的表结构:describe user;(或者 desc 表名)
存储引擎:show engines;
数据库的创建:CREATE
创建表:create table 表名(
列名 列类型;
列名 列类型;

一些暂时看不懂的东西

java实训-2020.9.14持更
• Connectors:用来与客户端应用程序建立连接的数据库接口
• Management Services & Utilities:系统管理和服务控制相关的 辅助工具
• Connection Pool:负责处理与用户访问有关的各种用户登录、线 程处理、内存和进程缓存需求
• Sql Interface:提供从用户接受命令并把结果返回给用户的机制
• Parser:对SQL语句进行语法分析和解析,构造一个月来执行查询 的数据结构
• Optimizer:优化查询语句,以保证数据检索动作的效率达到或者 非常接近最最优。使用一种“选取-投影-联结”策略来处理查询, 即先根据有关的限制条件进行选取(Select 操作)以减少将要处理 的元组个数,再进行投影以减少被选取元组力的属性字段的个数, 最后根据连接条件生产最终的查询结果
• Caches & Buffers:保证使用频率最高的数据或结构能够以最有效 率的方式被访问,缓存的类型有:表缓存、记录缓存、键缓存、权 限缓存、主机名缓存等。
java实训-2020.9.14持更
java实训-2020.9.14持更
• character_set_client:客户端(MySQL命令窗口)的字符集 (未加说明的是latin1字符集)
• character_set_connection:连接层字符集
• character_set_database:当前选中数据库的字符集
• character_set_filesystem:MySQL服务器文件系统的字符集, 默认的字符集为binary
• character_set_results:结果集的字符集
• character_set_server:MySQL服务器的字符集
• character_set_system:元数据(字段名、表名、数据库名等)字 符集,默认的字符集为utf8

数据库的设计

java实训-2020.9.14持更
主键(Primary Key) :数据库表要求表中的每一行记录都必须是唯一的,即在同一 张表中不允许出现完全相同的两条记录。在设计数据库时,为 了保证记录的“唯一性”,最为普遍、最为推荐的做法是为表 定义一个主键
实体间的关系与外键 :
约束: Constraint,是定义在表上的一种强制规则。
约束类型:
java实训-2020.9.14持更

创建表

表是数据库中最重要的逻辑对象,是存储数据的主要对象
数据类型
java实训-2020.9.14持更
数值类型:
java实训-2020.9.14持更
日期与时间类型:
java实训-2020.9.14持更字符串类型:
java实训-2020.9.14持更
特殊字符序列
java实训-2020.9.14持更
一些细节:
• PRIMARY KEY,指定字段为主键。
• AUTO_INCREMENT,指定字段为自动增加字段。
• INDEX,为字段创建索引。
• NOT NULL,字段值不允许为空。
• NULL,字段值可以为空。
• COMMENT,设置字段的注释信息。
• DEFAULT,设置字段的默认值。

复制表

方法一:在create table语句的末尾添加like子句,可以 将源表的表结构复制到新表中,语法格式如下:
create table 新表名 like 源表
方法二:在create table语句的末尾添加一个select语句, 可以实现表结构的复制,甚至可以将源表的表记录拷贝到新表中:
create table 新表名 select * from 源表

删除表

使用DROP TABLE语句删除表,语法如下:
DROP TABLE 表名

修改表

  • 使用ALTER TABLE语句修改表的结构,包括添加列、修 改列属性和删除列等操作
    ALTER TABLE 表名 ADD 列名 数据类型和长度 列属性
    ALTER TABLE 表名 MODIFY 列名 新数据类型和长度 新列 属性
    ALTER TABLE 表名 DROP COLUMN 列
  • 使用ALTER TABLE语句向表中添加列的基本语法如下:
    ALTER TABLE 表名 ADD 列名 数据类型和长度 列属性
  • 使用ALTER TABLE语句在表Emp中增加一列,列名为Tele,数据类型为varchar,长度为50,列属性为允许空,具体语句如下:
    ALTER TABLE Emp ADD Tele VARCHAR(50) NULL
  • 使用ALTER TABLE语句删除列的基本语法如下:
    ALTER TABLE 表名 DROP COLUMN 列名
  • 使用ALTER TABLE语句在表Emp中删除Tele列。具体语句如下 :
    ALTER TABLE Emp DROP COLUMN Tele

修改约束条件

添加约束条
向表的某个字段添加约束条件的语法格式如下(其中约束类型可以 是唯一性约束、主键约束及外键约束)。
alter table 表名 add constraint 约束名 约束类型 (字段名)
删除约束条件
• 删除表的主键约束条件语法格式比较简单,语法格式如下:
alter table 表名 drop primary key
• 删除表的外键约束时,需指定外键约束名称,语法格式如****意需指定外键约束名):
alter table 表名 drop foreign key 约束名
• 删除表字段的唯一性约束,实际上只需删除该字段的唯一性索引即可,语法格式如***意需指定唯一性索引的索引名):
alter table 表名 drop index 索引名