【Java MySQL】 003 基本认知

注意:mysql中,所有的命令都是以分号(;)结尾

DDL:数据库定义语言
DML:数据库操作语言
DQL:数据库查询语言
DCL:数据库控制语言

基本命令行操作
show databases; 	--查看所有数据库
use xxx		--切换为xxx数据库
show tables;	--查看数据库中所有的表
describe xxx;	--显示xxx表中的所有信息
create database xxx;	--创建一个数据库
show create database xxx;	--查看创建数据库的语句
show create table xxx;	--查看创建xxx数据表的定义语句
desc xxx;	--显示表的结构
--单行注释

/*
多行注释
*/
操作数据库语句

mysql关键字不区分大小写

操作数据库 > 操作数据库中的表 > 操作数据库中表的数据

数据库的创建、删除和使用

CREATE DATABASE [IF NOT EXISTS] xxx;	--创建数据库xxx,[]中的内容表示可选字段
DROP DATABASE [IF EXISTS] xxx;	--删除数据库
USE `xxx`;	--如果你的表名或者字段名是一个特殊字符,就需要加``
SHOW DATABASES;	--查看所有数据库

数据库的列类型
  • 数值

    类型描述字节个数
    tinyint十分小的数据1
    smallint较小的数据2
    mediumint中等大小的数据3
    int标准的整数4
    bigint较大的数据8
    float浮点数4
    double浮点数(存在精度问题)8
    decimal字符串形式的浮点数(金融计算的时候使用)-
  • 字符串

    类型描述字节个数
    char字符串固定大小的0-255
    varchar可变的字符串0-65535
    tinytext微型文本2^8-1
    text文本串2^16-1
  • 时间日期

    类型描述
    dateYYYY-MM-DD,日期格式
    timeHH:mm:ss,时间格式
    datetimeYYYY-MM-DD HH:mm:ss,最常用的时间格式
    timestamp时间戳,1970.1.1到现在的毫秒数
    year年份表示
  • null

没有值,未知
注意:不用使用null进行运算,因为结果一定是null


创建数据库表
/*
目标:创建一个schoo1数据库
创建学生表(列,字段)使用SQL创建
学号int	登录密码varchar(20)	姓名,性别varchar(2)	出生日期(datatime) ,家庭住址, email

注意点使用英文(),表的名称和字段尽量使用``括起来
AUTO_INCREMENT自增
字符串使用 单引号括起来!
所有的语句后面加,(英文逗号)
PRIMARY KEY主键,一般一个表只有一个唯一的主键!
*/

CREATE TABLE IF NOT EXISTS `student` (
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
`sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别',
`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
`address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

数据表的类型
--关于数据库引擎
/*
INNODB 默认使用
MYISAM 早些年使用
*/
MYISAMINNODB
事务支持不支持支持
数据行锁定不支持支持
外键约束不支持支持
全文索引支持不支持
表的空间大小较小较大,约两倍

对比

  • MYISAM 节约空间,速度较快
  • INNODB 安全性高,支持事务的处理,多表多用户操作
在物理空间中存在的位置

所有的数据库文件都存在data目录下,一个文件夹就对应一个数据库

本质还是文件的存储


MySQL引擎在物理文件上的区别

  • INNODB在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件
  • MyISAM对应文件
    • *.frm     表结构的定义文件
    • *.MYD     数据文件(data)
    • *.MYI     索引文件(index)
设置数据库表的字符集编码
CHARSET=utf8

不设置的话,会是mysql默认的字符集编码(Latin1),不支持中文

也可以直接在my.ini中配置默认的编码character-set-server=utf8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值