Mysql学习笔记 Day2 0228
Day2
Mysql学习以及回顾。
1、用命令行进行数据库连接
在Day1中已经实现了在SQLyog连接数据库的操作,现在用命令行加深印象:
mysql -u root -p123456 --连接数据库
update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost'; --修改用户密码
flush privileges; --刷新权限
------------------------------------------------------
---注意所有的语句都要用封号结尾;
```sql
show databases; -- 查询所有的数据库
use school; -- 切换数据库 use 数据库名
--返回 Database changed
show tables; -- 查看数据库中所有的表
describe student; --显示数据库中所有的表的信息
create database westos; -- 创建一个数据库
show databases; -- 查看创建
use westos; -- 切换数据库
show tables; -- 展示westos里面所有的表
-- 返回 Empty set 还是空的
exit; --退出链接
-- 单行注释(SQL的本来注释)
/* (sql的多行注释)
hello
asdas
dasdas
*/
authentication设置的就是如图所示:
SQLyog 也同步出现新的表
DDL 定义
DML 管理
DQL 查询
DCL 控制
CRUD(业务程序猿)
API程序猿
2、操作数据库
操作数据库>操作数据库中的表>操作数据库中表的数据
操作数据库(了解)
- 创建数据库
mysql关键字不区分大小写
CREATE DATABASE [IF NOT EXISTS] westos;
[中括号内部内容表示可选]
- 删除数据库
DROP DATABASE [IF EXISTS] westos;
- 使用数据库
-- tab键的上面,如果表名或者字段名是一个特殊字符,就需要带``--
USE `school`;
SELECT `user` FROM student;
- 查看数据库
SHOW DATABASES; -- 查看所有的数据库
学习思路
- 对照sqlyog可视化历史记录查看消息
- 固定的语法或关键词必须强行记住
3、数据库的列类型
数值
- tinyint 十分小的数据 1个字节
- smallint 较小的数据 2个字节
- int 标准的整数 4个字节 常用的int
- bigint 较大的数据 8个字节
- float 浮点数 4个字节
- double 浮点数 8个字节
- decimal 字符串形式的浮点数 金融计算的时候,一般是使用decimal
字符串
- char 字符串固定大小的 0~255
- varchar 可变字符串 0~65535 常用的 String
- 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
4、数据库的字段属性(重点)
Unsigned
- 无符号的整数
- 声明了该列不能为负数
Zerofill
- 0填充的
- 不足的位数,使用0来填充,int(3),5…005
自增
- 通常理解为自增,自动再上一条记录的基础上+1(默认)
- 通常用来设计唯一的主键 ~index,必须是整数类型
- 可以自定义设计主键自增的起始值和步长
非空 NULL 和NOT NULL - 假设设置为 not null,如果不给它赋值,就会报错
- NULL,如果不填写值,默认就是null
- 注意NULL区别于空字符串""
默认
- 设置默认的值
- sex,默认值为男,如果不指定该列的值,则会有默认的值
拓展
做项目时,每一个表都必须存在以下五个字段 表示一个记录存在的意义!
id -- 主键
`version` -- 乐观锁
is_delete -- 伪删除
gmt_create --创建时间
gmt_update --修改时间