文章目录
- 1、连接数据库
- 2、数据库增删改查
- 3、数据表的列类型
- 4、数据表的字段属性
- 5、表的操作
- 5.1、数据表的类型
- 5.2、创建表
- 5.3、修改表
- 5.4、删除表
- 6、数据表管理
- 6.1、DML语言
- 6.2、添加
- 6.3、修改
- 6.4、删除
MySQL关键字不区分大小写
1、连接数据库
mysql -uroot -p123456
flush privileges;
show databases; mysql> use school;
Database changedshow tables;
desc student; create database westos; exit;
2、数据库增删改查
-
创建数据库:
CREATE DATABASE [IF NOT EXISTS] 数据库名;
-
删除数据库:
DROP DATABASE [IF EXISTS] 数据库名;
-
使用数据库:
USE 数据库名;
-
查看数据库:
SHOW DATABASES;
3、数据表的列类型
-
数值:
tinyint | 十分小的数据 | 1个字节 |
---|
smallint | 较小的数据 | 2个字节 |
mediumint | 中等大小的数据 | 3个字节 |
int | 标准的整数 | 4个字节 |
big | 较大的数据 | 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进行运算
4、数据表的字段属性
- Unsigned:
- 无符号的数值
- 声明了该列不能声明为负数
- zerofill:
- 0填充
- 不足的位数,使用0来填充
- AUTO_INCREMENT:
- 通常理解为自增,自动在上一条记录
- 通常用来设计唯一的主键,必须是整数类型
- 可以自定义设计主键自动自增的起始值和步长
- null not null:
- 如果设置为 not null,如果不给它赋值,就会报错
- null,如果不填写值,默认就是null
- DEFAULT:
- 默认的值
- DEFAULT Java学不会,如果不指定该列的值,则会有默认的值
5、表的操作
5.1、数据表的类型
5.2、创建表
-
创建表:
CREATE TABLE 表名(
`字段名1` 属性(长度) [约束,索引] COMMENT '注释1',
`字段名2` 属性(长度) [约束,索引] COMMENT '注释2',
`字段名3` 属性(长度) [约束,索引] COMMENT '注释3',
)ENGINE=INNODB DEFAULT CHARSET=utf8mb4
-
查看创建的语句:
SHOW CREATE TABLE 表名;
SHOW CREATE TABLE 数据库名;
DESC 表名;
5.3、修改表
-
修改表名:
ALTER TABLE 旧表名 RENAME AS 新表名;
-
增加字段:
ALTER TABLE 表名 ADD `字段名` 属性(长度);
-
修改标的字段:
ALTER TABLE 表名 MODIFY `字段名` 属性(长度);
ALTER TABLE 表名 CHANGE `旧字段名` `新字段名` 属性(长度)[约束];
-
删除字段:
ALTER TABLE 表名 DROP 字段名;
5.4、删除表
6、数据表管理
6.1、DML语言
- 数据库意义: 数据存储,数据管理
- DML语言: 数据操作语言
- INSERT
- UPDATE
- DElETE
6.2、添加
- INSERT:
- 字段和字段之间使用英文逗号隔开
- 字段可以省略,但是后面的值要一一对应,不能少
INSERT INTO 表名([字段1,字段2,字段3,···]) VALUES ('值1','值2','值3',···);
6.3、修改
6.4、删除