每天24点前更新,更新量主要取决于学了多少
MySQL 学习小记
基本命令行操作
-- 控制台登录操作
mysql -u root -p 123456 -- 连接数据库
--所有语句都用分号结尾
update mysql.user set authentication_string=password('123456') where users='root' and Host = 'localhost'; -- 刷新权限
show databases; -- 查看所有的数据库
use school; -- 切换数据库
show tables; -- 查看数据库中所有的表
describe student; -- 显示数据库中所有表的信息
create database tmp; -- 创建数据库
exit; -- 退出
-- 单行注释
功能演示
idea数据库操作
本质:增删改查
-- 增
create database if not exists tmp;
create database if not exists t;
-- 删
drop database if exists t;
drop database if exists s;
-- 改(切换数据库)
use tcyyyds; -- 如果字段/表名特殊(如users)就需要加``
-- 查
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
-- 时间日期
date -- YYYY-MM-DD,日期格式
time -- HH:mm:ss 时间格式
datetime -- YYYY-MM-DD HH:mm:ss,常用
timestamp -- 时间戳,1970.1.1到现在的毫秒数,常用
year -- 年份
-- null
null
-- 没有值,未知,用null运算结果依然为null
字段属性
- unsigned:无符号整数,表示该列不能是负数
- zerofill:0填充的,不足的位数使用0填充
- 自增:默认自动在上一条基础上+1,可以自定义设计主键自增的起始值和步长
- 非空:NULL not null:假设设置为not null,则不赋值会报错
- 默认:设置默认值
项目中每个表都必须添加的字段:(表示一个记录存在的意义)
id -- 主键
`version` -- 乐观锁(版本号)
is_delete -- 伪删除
gmt_create -- 创建时间
gmt_update -- 修改时间
数据库表的创建
CREATE TABLE IF NOT EXISTS `student` (
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
·name` VARCHAR(4) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pswd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
PRIMARY KEY ('id')
)ENGINE = INNODB DEFAULT CHARSET = utf8
格式:
CREATE TABLE [IF NOT EXISTS] `table_name` (
'字段名'列类型 [属性][索引][注释],
'字段名' 列类型 [属性][索引][注释],
...
'字段名' 列类型 [属性][索引][注释],
)[表类型][字符集设置][注释]
今天cf,少学了一些qwq,下次一定