1.命令行方式连接数据库-DOS
mysql –h服务器主机地址 –u 用户名 –p密码
密码如果写必须紧跟p,也可以不写,如果不写的话会提示写密码
mysql -u root -p
Enter password: **
2、MySQL命令
每条SQL必须以;结尾,或者\g结尾
- 展示全部数据库名
SHOW DATABASES;
- 建库
CREATE DATABASE 数据库名;
- 选库
USE 数据库名;
- 删库
DROP DATABASE 数据库名;
- 建表
CREATE TABLE [IF NOT EXISTS] 表名 (
列名1 数据类型 [字段属性|约束][索引][注释],
……
列名n 数据类型 [字段属性|约束][索引][注释]
)[表类型][表字符集][注释];
- 注释·单行
#....
多行
/*..... */
- 查看某数据库有那几张表
SHOW TABLES;
- 查看表结构
DESCRIBE 表名
DESC 表名
- 删除表
DROP TABLE 表名
- 查看数据库的默认引擎
SHOW VARIABLES LIKE ‘storage_engine%’;
3、结构化查询语言
名称 | 解释 | 命令举例 |
---|---|---|
DML(数据操作语言) | 用来操作数据库中所包含的数据 | INSERT UPDATE DELETE |
DDL (数据定义语言) | 用于创建和删除数据库对象等操作 | CREATE DROP ALTER |
DQL (数据查询语言) | 用来对数据库中的数据进行查询 | SELECT |
DCL (数据控制语言) | 用来控制数据库组件的存取许可、存取权限等 | GRANT COMMIT ROLLBACK |
4、数值类型
类型 | 说明 | 取值范围 | 存储需求 |
---|---|---|---|
tinyint | 非常小的数据 | 有符值: -27 ~ 27-1 无符号值:0 ~ 28-1 | 1字节 |
smallint | 较小的数据 | 有符值: -215 ~ 215-1 无符号值: 0 ~ 216-1 | 2字节 |
mediumint | 中等大小的数据 | 有符值: -223 ~ 223-1 无符号值: 0 ~ 224-1 | 3字节 |
int | 标准整数 | 有符值: -231 ~ 231-1 无符号值:0 ~ 232-1 | 4字节 |
bigint | 较大的整数 | 有符值: -263 ~263-1无符号值:0 ~264-1 | 8字节 |
float | 单精度浮点数 | ±1.1754351e -38 | 4字节 |
double | 双精度浮点数 | ±2.2250738585072014e -308 | 8字节 |
decimal | 字符串形式的浮点数 | Decimal(M,D) | M+2个字节 |
5、字符串类型
字符串类型 | 说明 | 长度 |
---|---|---|
char | 定长字符串 | M字节 |
varchar [ ( m ) ] | 可变字符串 | 可变长度 |
tinytext | 微型字符串 | 0~28–1字节 |
text | 文本串 | 0~216–1字节 |
6、日期类型
日期类型 | 格式 | 取值范围 |
---|---|---|
date | YYYY-MM-DD,日期格式 | 1000-01-01~ 9999-12-31 |
datetime | YY-MM-DD hh:mm:ss | 1000-01-01 00:00:00 ~9999-12-31 23:59:59 |
time | hh:mm:ss | -835:59:59 ~ 838:59:59 |
timestamp | YYYYMMDDHHMMSS | 1970年某时刻~2038年某时刻,精度为1秒 |
year | YYYY格式的年份 | 1901~2155 |
若某日期字段默认值为当前日期,一般设置为TIMESTAMP类型
7、约束
名称 | 关键字 | 说明 |
---|---|---|
非空约束 | not null | 字段不允许为空 |
默认约束 | default | 赋予某字段默认值 |
唯一约束 | unique key (UK) | 设置字段的值是唯一的允许为空,但只能有一个空值 |
主键约束 | primary key(PK) | 设置该字段为表的主键 可唯一标识该表的记录 |
外检约束 | foreign key(FK) | 用于在两表之间建立关系,需要在指定引用主表的哪一个字段 |
自动增长(标识列) | auto_increment | 设置该列为自增字段 默认每条自增1 通常用于设置主键 |
注释 | comment | 加上注释 |
非负数 | unsigned | 输入负数自动转成0,最小值0 |
8、MySQL的存储引擎
存储引擎的类型:MyISAM、InnoDB 、Memory、CSV等9种
MySAM与InnoDB类型主要区别
名称 | InnoDB | MyISAM |
---|---|---|
事物处理 | 支持 | 不支持 |
数据行锁定 | 支持 | 不支持 |
外键约束 | 支持 | 不支持 |
全文索引 | 不支持 | 支持 |
表空间大小 | 较大,约2倍 | 较小 |
适用场合
- 使用MyISAM: 不需事务,空间小,以查询访问为主
- 使用InnoDB: 多删除、更新操作,安全性高,事务处理及并发控制
9、总结
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K9y0xsQ2-1623399527848)(img\image-20210611161057938.png)]
|
| 表空间大小 | 较大,约2倍 | 较小 |
适用场合
- 使用MyISAM: 不需事务,空间小,以查询访问为主
- 使用InnoDB: 多删除、更新操作,安全性高,事务处理及并发控制
9、总结
[外链图片转存中…(img-K9y0xsQ2-1623399527848)]