MySQL数据库(初步了解)
1.1、基础
mysql -uroot -p 链接数据库
update mysql.user set authentication_atring=password('123456') where user='root' and Host='localhost'; 修改密码
flush privileges; 刷新权限
show databases; --查看所有数据库
use school; --切换数据库(schllo为库名)
show tables; --查看数据库中所有的表
desc student; --显示数据库中所有信息(student为表名字)
create database westos; --创建一个数据库
exit; --退出链接
-- --单行注释(SQL本来的注释)
/**/ --(sql的多行注释)
所有的语句都以 ; 结尾
1.2、流程
操作数据库>操作数据库中的表>操作数据库表中的数据
- mysql关键字不分大小写
- 创建数据库:
create database westos; --创建一个数据库
- 删除数据库:
drop database westos1; --删除数据库
- 使用数据库:
use school; --使用school数据库
- 查看数据库
show databases;--查看所有数据库
select hbt from student; --查询来着表student当中的hbt
MySQL语言
- DDL 定义
- DML 操作
- DQL 查询
- DCL 控制
1.3、数据库的列类型
- 数值:
- tintint 十分小的数据 1个字节
- smqllint 较小的数据 2个字节
- mediumint 中等大小的数据 3个字节
- int 标准的整数 4个字节 常用
- big 较大的数据 8个字节
- float 浮点数 4个字节
- double 浮点数 8个字节(精度问题)
- decimal 字符串形式的浮点数 金融计算的时候,一般是使用decimal
- 字符串:
- char 字符串固定大小 0~255
- varchar 可变字符串 0·05535 常用的 string
- tinytext 微型文本 2^8 -1
- text 文本串 2^16-1 保存大文本 String
- 时间日期(java.util.Date(java类))
- date YYY-MM-DD 日期格式
- time HH:mm:ss 时间格式
- datetime YYY-MM-DD -HH:mm:ss 最常用的时间格式
- timestamo 时间戳 1970.1.1 到现在的毫秒数 也较为常用
- year 年份标识
- null:
- 没有值,未知
- 注意,不要使用null进行运算,结果为null
1.4、数据库的字段属性
unsigned:
- 无符号的整数
- 声明了该列不能声明为负数
zerofill:
- 0填充的
- 不足的位数,使用0来填充
自增:
- 通常理解为自增,自动在上一条的基础上+1(默认)
- 通常用来设计唯一的主键 index ,必须是整数类型
- 可以自定义设计主键自增的起始值和步长
非空 null not null、
- 假设设置为not null 如果不给他赋值 就会报错
- null ,如果不填写值,默认就为null
默认:
- 设置默认的值
- 如果不指定该列的值,就会有默认的值
拓展笔记:
每一个表,都必须存在以下五个字段,做项目用的,表示一个记录存在意义
id 主键
version 乐观锁
is_delete 伪删除
gmt_create 创建时间
gmt_update 修改时间
1.5、建表
create table 【if not exists】 `表名`(
`字段名` 列类型 【属性】 【索引】 【注释】,
`字段名` 列类型 【属性】 【索引】 【注释】,
`字段名` 列类型 【属性】 【索引】 【注释】,
......
`字段名` 列类型 【属性】 【索引】 【注释】,
)【表类型】【字符集设置】【注释】