【个人笔记/MySQL】初始MySQL(三)操作数据库
操作数据库即操作数据库中的表,也就是操作数据库中表的数据
3.1 数据库基本操作指令
- 创建数据库 CREATE DATABASE [IF NOT EXISTS] westos;
- 删除数据库 DROP DATABASE [IF EXISTS] westos;
- 使用数据库 -- tab键上面,如果你的表名或者字段是一个特殊字符就需要带 `` USE `school`;
- 查看数据库 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 -- 显示表的结构
…待续未完
