使用Java实现数据库编程——使用SQL语句操作数据库表006

结构化查询语言
使用Java实现数据库编程——使用SQL语句操作数据库表006
使用Java实现数据库编程——使用SQL语句操作数据库表006
名称DML(数据操作语言) 解释用于操作数据库中包含的数据 命令举例INSERT,UPDATE,DELETE
名称DDL(数据定义语言) 解释用于创建和删除数据库对象等操作 命令举例CREATE,DROP,ALTER
名称DQL(数据查询语言) 解释用于对数据库中的数据进行查询 命令举例SELECE
名称DCL(数据控制语言)解释用于控制数据库组件的存取许可,存取权限等 命令举例GRANT,COMMIT,ROLLBACK
使用Java实现数据库编程——使用SQL语句操作数据库表006
数值类型
类型TINYINT 说明:非常小的数据
取值范围:有符号值-2⁷ ~2⁷-1 无符号值0~2⁸ -1 存储空间 1字节
类型SMALLINT 说明:较小的数据
取值范围:有符号值-2¹⁵ ~2¹⁵-1 无符号0~2¹⁶-1 存储空间2字节

类型MEDIUMINT 说明:中等大小的数据
取值范围:有符号-2²³~2²³-1 无符号0~2²⁴-1 存储空间3字节

类型INT 说明:标准整数
取值范围:有符号-2³¹~2³¹-1 无符号0~2³²-1 存储空间4字节

类型BIGINT 说明:较大的整数
取值范围:有符号值-2⁶³~2⁶³-1 无符号值0~2⁶⁴-1 存储空间8字节

类型FLOAT 说明:单精度浮点数
取值范围:±1.1754351e-38 存储空间4字节

类型DOUBLE 说明:双精度浮点数
取值范围:±2.2250738585072017e-308 存储空间 8字节

类型DECIMAL 说明:字符串形式的浮点数
取值范围:Decimal(M,D) 存储空间 M+2字节

UNSIGNED属性 表示无无符号数
ZEROFILL属性 宽度(位数)不足以0填充
若某数值字段指定了ZEROFILL属性,将自动添加UNSIGNED属性

MySQL数据类型
使用Java实现数据库编程——使用SQL语句操作数据库表006
使用Java实现数据库编程——使用SQL语句操作数据库表006
若其日期字段默认值为当前日期,一般设置为TIMESTAMP类型

创建表
CREATE TABLE [IF NOT EXISTS] 表名(字段1 数据类型[字段属性|约束][索引][注释]),[表类型][表字符集][注释];
#创建学生表
CREATE TABLE student(studentNo INT(4) PRIMARY KEY,name'CHAR(10));
PRIMARY KEY设置表的主键
‘#’ 代表单行注释

字段的约束及属性
使用Java实现数据库编程——使用SQL语句操作数据库表006
名称 非空约束 关键字 NOT NULL 说明 字段不允许为空
名称 默认约束 关键字 DEFAULT 说明 赋予某字段默认值
名称 唯一约束 关键字 UNIQUE KEY(UK) 说明 设置字段的值是唯一的,允许为空,但只能有一个空值
名称 主键约束 关键字 PRIMARY KEY(PK) 说明 设置该字段为表的主键,可唯一标识该表记录
名称 外键约束 关键字 FOREIGN KEY(FK)说明 用于在两表之间建立关系,需要指定引用主表的哪一字段
名称 自动增长 关键字 AUTO_INCREMENT 说明 设置该列为自增字段, 默认每条自增1 ,通常用于设置主键

主键
CREATE TABLE student(studentNo INT(4) PRIMARY KEY)

注释
CREATE TABLE test(id int(4) UNSIGNED COMMENT ‘编号’)COMMENT=‘测试表’;

设置字符集编码
CREATE TABLE [IF NOT EXISTS] 表名(#省略代码)CHARSET=字符集名;

字段的约束及属性
使用Java实现数据库编程——使用SQL语句操作数据库表006

使用Java实现数据库编程——使用SQL语句操作数据库表006

字段的约束及属性
CREATE TABLE stundet(
studetNo INT(4) NOT NULL COMMENT ‘学号’ PRIMARY KEY, #非空,主键
loginPwd VARCHAR(20) NOT NULL COMMENT ‘密码’,
studentName VARCHAR(50) NOT NULL COMMENT ‘学生姓名’,
sex CHAR(2) DEFAULT ‘男’ NOT NULL COMMENT ‘性别’, #非空,默认值“男”
gradeId INT(4) UNSIGNED COMMENT ‘年级编号’, #无符号数
phone VARCHAR(50) COMMENT ‘联系电话’,
address VARCHAR(255) DEFAULT ‘地址不详’ COMMENT ‘地址’, #默认值“地址不详”
bornDate DATETIME COMMENT ‘出生时间’,
email VARCHAR(50) COMMENT ‘邮件账号’,
identityCard VARCHAR(18) UNIQUE KEY COMMENT ‘身份证号’ #唯一
)COMMENT=‘学生表’

查看表
查看表是否存在
USE myschool;
SHOW tables;

查看表定义
DESCRIBE 表名;或DESC 表名

USE myschool;
DESCRIBE student;
使用Java实现数据库编程——使用SQL语句操作数据库表006
SET NAMES gbk;

删除表
DROP TABLE [IF EXISTS] 表明;
USE myschool;
DROP TABLE IF EXISTS student;
使用Java实现数据库编程——使用SQL语句操作数据库表006

使用Java实现数据库编程——使用SQL语句操作数据库表006
存储引擎的类型
MyISAM,InnoDB,Memory,CSV等9中

MyISAM与InnoDB类型主要区别
名称 事务处理 InnoDB 支持 MyISAM 不支持
名称 数据行锁定 InnoDB 支持 MyISAM 不支持
名称 外键约束 InnoDB 支持 MyISAM 不支持
名称 全文索引 InnoDB 不支持 MyISAM 支持
名称 表空间大小 InnoDB 较大,越2倍 MyISAM 较小

使用场合
使用MyISAM:不需事务,空间小,以查询访问为主
使用InnoDB:多删除,更新操作,安全性高,事务处理及并发控制

show engines;查看系统的所有存储引擎

MySQL5.5版本默认的存储引擎是InnoDB

使用Java实现数据库编程——使用SQL语句操作数据库表006
语法
HELP 查询内容;

HELP contents;帮助列表
HELP Data Types;查看数据类型
HELP INT;查看某一个数据类型的详细解释介绍
使用Java实现数据库编程——使用SQL语句操作数据库表006
使用Java实现数据库编程——使用SQL语句操作数据库表006