【个人笔记/MySQL】初始MySQL(三)操作数据库

操作数据库即操作数据库中的表,也就是操作数据库中表的数据

3.1 数据库基本操作指令

  1. 创建数据库 CREATE DATABASE [IF NOT EXISTS] westos;
  2. 删除数据库 DROP DATABASE [IF EXISTS] westos;
  3. 使用数据库 -- tab键上面,如果你的表名或者字段是一个特殊字符就需要带 `` USE `school`;
  4. 查看数据库 SHOW DATABASES; -- 查所有的数据库

对比:SQLyog的可视化操作

学习思路:

    对照sqlyog可视化历史记录查看sql 固定的语法和关键字必须记住

3.2 数据值和列类型

数值:

    tinyint 十分小的数据 1个字节 smallint 较小的数据 2个字节 mediumint 中等大小的数据 3个字节 int 标准的数据 4个字节 bigint 8个字节 float 浮点数 4个字节 double 浮点数 8个字节 decimal 字符串形式的浮点数 金融计算

字符串:

    char 字符串固定大小 0-255 varchar 可变字符串 0-65535 String tinytext 微型文本 2^8 - 1 text 文本串 2^16 - 1 保存大文本

时间日期:

java.util.Date

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

null:

    没有值,未知 注意不要使用null进行运算结果为null

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

Unsigned:

    无符号的整数 声明了改列不能声明为负数

zerofill:

    0填充 不足的位数,使用0填充

自增:

    通常理解为自增,自动在上一条记录上+1(默认) 通常用来设计唯一的主键 index,必须是整数类型 可以自定义设计主键自增的起始值和步长

非空 NULL not null:

    假设设置为not null, 如果不给它赋值,机会报错 NULL,如果不填写,默认值就是null

默认:

    设置默认的值

拓展:

/*
每个表都必须存在以下字段
*/
id  -- 主键
version -- 乐观锁
id_delete   -- 伪删除
gmt_create  -- 创建时间
gmt_update  -- 修改时间

3.4 创建数据库表

-- 创建一个数据库
-- 注意点:表的字段用括起来
-- 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

格式:

create table [if not exists] 表名(
	字段名 列类型[属性][索引][注释],
	字段名 列类型[属性][索引][注释],
	......
	字段名 列类型[属性][索引][注释],
)[表类型][字符集设置][注释]

常用命令:

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

…待续未完

经验分享 程序员 微信小程序 职场和发展