# 《一》、基础部分
零、Mysql,启动!:
首先确保服务启动:
用windows命令行工具(想在任意目录下执行指令,需要配置PATH环境变量):
启动指令:
mysql -u root -p
后输入密码
·数据模型:
一、SQL
1、通用语法及分类
·通用语法:
·可单行或多行,以分号结尾;
·用空格、缩进增强可读性
·MySQL的SQL不区分大小写,一般关键字大写
·注释:
单行:- – 或#;
多行:/* */
·分类:
DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)
DML: 数据操作语言,用来对数据库表中的数据进行增删改
DQL: 数据查询语言,用来查询数据库中表的记录
DCL: 数据控制语言,用来创建数据库用户、控制数据库的控制权限
2、DDL(数据定义语言):
1.数据库操作
注:【】内可省略
·查询
1.查询所有数据库
SHOW DATABASES;
2.查询当前数据库
SHOW DATABASE();
·创建
创建数据库:
CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [COLLATE 排序规则 ];
注意:UTF8字符集长度为3字节,有些符号占4字节,所以推荐用utf8mb4字符集
·删除
DROP DATABASE [ IF EXISTS ] 数据库名;
·使用数据库
USE 数据库名;
- 注意:UTF8字符集长度为3字节,有些符号占4字节,所以推荐用utf8mb4字符集
2.表操作
- 查询当前数据库所有表:
SHOW TABLES;
- 查询表结构:
DESC 表名;
查询指定表的建表语句:
SHOW CREATE TABLE 表名;
- 创建表:
CREATE TABLE 表名(
字段1 字段1类型 [约束] [COMMENT 字段1注释],
字段2 字段2类型 [约束] [COMMENT 字段2注释],
字段3 字段3类型 [约束] [COMMENT 字段3注释],
...
字段n 字段n类型 [约束] [COMMENT 字段n注释],
)[COMMENT 表注释];--最后一个字段后没有逗号
约束:
- 约束是作用于表中字段上的规则,用于限制存储在表中的数据。
- 保证数据库中的数据的正确性、有效性、完整性。
约束 | 描述 | 关键字 |
---|---|---|
非空约束 | 限制该字段值不能为null | not null |
唯一约束 | 保证字段的所有数据都是唯一、不重复的 | unique |
主键约束 | 主键是一行数据的唯一标识,要求非空且唯一 | primary key(auto_increment) |
默认约束 | 保存数据时,如果未指定该字段值,则采用默认值 | default |
外键约束 | 让两张表的数据建立连接,保证数据的一致性和完整性 | foreign key |
- 添加字段:
ALTER TABLE 表名 ADD 字段名 类型 [COMMENT 注释] [约束];
- 修改字段数据类型:
ALTER TABLE 表名 MODIFY 字段名 新数据类型;
- 修改字段名及字段数据类型:
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 [COMMENT 注释] [约束];
- 删除字段:
ALTER TABLE 表名 DROP 字段名;
- 修改表名:
ALTER TABLE 表名 RENAME TO 字段名;
- 删除表:
DROP TABLE [IF EXISTS] 表名;
- 删除表,并重新创建该表:
TRUNCATE TABLE 表名;
以上操作直接用idea的图形化界面直接操作即可。
注意:当要新加字段值,如果被约束为非空,那么会自动给已有记录补上新字段内容,此时如果有限制,就会添加失败。
例如给表添加新字段时间 datetime,约束为非空,已有记录会填充新字段为0000/00/00-00-00-00,但是datetime的年份时间不允许为0000。