JAVA-MySQL二{使用数据库,语法和操作}JAVA从基础开始 --7

32 篇文章 0 订阅
20 篇文章 0 订阅

命令行链接

1.所有的语句都使用;结尾

语言: 数据库 **** 语言 本质 CRUD程序员(业务-增删改查) CV程序员 API程序员
DDL 定义
DML 操作
DQL 查询
DCL 控制

操作数据库

操作数据库–表--表中数据

mysql不区分大小写

注意:

1.如果表名或者字段名是特殊字符就要用Tab上面的建 `` 来框起来,(school)(ES6字符串的写法)
创建数据库

数据类型

数值
tinyint 十分小的数据 1字节
smallint 较小的数据 2字节
mediumint 中等的数据 3字节
int 标准的数据 4字节 常用的
bigint 较大的数据 8字节
float 浮点数 4字节
double 浮点数 8字节 精度问题
decimal 字符串形式的浮点数 金融计算的时候一般使用

字符串
char 比较小的固定大小的数据 0~255
varchar 可变字符串相当于String 0~65535
tinytext 微型文本据 2^8-1
text 文本串 2^16-1 大文本,还是String

时间日期
date YYYY-MM-DD 日期
time hh:mm:ss 时间格式
datetime YYYY-MM-DD hh:mm:ss 常用时间格式
timestamp 时间戳, 1970.1.1 到现在的毫秒数! 也常用
year 年份表示

null
没有值,未知
不要加入运算,因为结果也会是null

数据库的字段属性(重点)

Unsigned
1.无符号整数
2.不能为负数

zerofill
1.0填充
2.不足的位数使用0来填充 int(3) , 5 — 005

自增
1.通常在上一条记录基础上加1
2.通常来定义唯一主键
3.可在高级中自定义

非空 NULL not null
1.如果不给值,就会报错
2.null,如果不给值,默认是null

默认
1.设置默认的值
2.若不指定该列的值,则为默认值

拓展

规范
id 主键
`version` 乐观锁
is_delete 伪删除
gmt_create 创建时间
gmt_update 修改时间

创建数据库表

-- 使用英文( ) 表的名称和字段尽量使用 `` 包起来 
-- a uto_increment AUTO_INCREMENT 自增 
-- C OMMIT是注释 
-- 字符串使用 单引号括起来 
-- 所有的语句后面加,最后一个不用 
-- PRIMARY KEY ( `id` ) ,这个是定义主键,可以写在字段中,但建议写在最后,因为明显可以看到

	CREATE TABLE
IF
	NOT EXISTS `student` (
		`id` INT ( 4 ) NOT NULL auto_increment comment '学号',
		`gradeid` INT ( 10 ) not NULL comment '学生年级',
		`name` VARCHAR ( 30 ) NOT NULL DEFAULT '匿名' comment '姓名',
		`pwd` VARCHAR ( 30 ) NOT NULL DEFAULT '123456' 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

注意 COMMENT 不要写错了 因为好几个类似的单词 写错了就编译不了…

总结格式

CREATE TABLE [IF NOT EXISTS] ‘表名’(
`字段名(加上tab上面的建,这个文章里会识别成代码) 列类型 【属性】【索引】【注释】,

········

`字段名 列类型 【属性】【索引】【注释】
)【表类型】【字符集设置】【注释】

常用命令

	SHOW CREATE DATABASE testdb -- 查看创建数据库的语句
	SHOW CREATE TABLE student -- 查看创建表的语句
	DESC student -- 显示表的结构
	

引擎

INNODB 默认使用:安全性高,事务处理,多表多用户操作
MYISAM 早年使用:节约空间,速度快

·MYISAMINNODB
事务支持ny
数据行锁定ny
外键约束ny
全文索引yn
表空间大小较小较大,约为2倍

在物理空间存在的位置

MySql所有的数据库文件都存在data目录下,一个文件夹就对应一个数据库
本质还是文件的存储
MySql 引擎在物理文件的区别
1.innoDB 在数据库中只有一个*.ibd文件
2.myisam 在数据库中有3个文件
myd 数据文件
myi 索引文件
在这里插入图片描述

设置数据库表的字符集编码

CHARSET=utf8
不设置的话,回事mysql默认的字符集编码(不支持中文)
mysql的默认编码是Latin1,不支持中文

在my.ini中配置默认编码
加上 :character-set-server=utf8

修改和删除表

修改表名
ALTER TABLE sooc rename as sooc1
增加表字段
ALTER TABLE sooc add age int(11)
修改表的字段(重命名,修改约束)
ALTER TABLE sooc modify age int(11)
ALTER TABLE sooc1 change age age1123 VARCHAR(11)
删除表字段
ALTER TABLE sooc1 drop age1123
删除表
drop table if exists sooc1

命令效果
mysql -uroot -p123456登入
update mysql.user set authentication_string=password(‘123456’) where user=‘root’ and Host=‘localhost’;修改用户密码
flush privileges;刷新权限
show databases;展示所有数据库
Use school;切换数据库
show table;查看数据库中所有的表
describe student;查看student表中所有信息-- id-等
create database westos;创建一个数据库
exit;推出链接
# 本质是 – 两个干单行注释
/* ------*/多行注释
下面是在Navicat中查询的语句
CREATE DATABASE 【IF NOT EXISTS】 westors创建一个数据库(当表不存在时候)
DROP DATABASE【IF NOT EXISTS】 westors删除数据库
drop table if exists sooc1删除表
ALTER TABLE sooc rename as sooc1修改表名
ALTER TABLE sooc add age int(11)增加表字段
ALTER TABLE sooc1 change age age1123 VARCHAR(11)修改表的字段(重命名
ALTER TABLE sooc modify age int(11)修改表的字段(修改约束)
ALTER TABLE sooc1 drop age1123删除表字段
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轻动琴弦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值