Mysql

PK(Primary Key)主键、唯一标识
NN(Not Null)值不允许为空
UQ(Unique)唯一索引
BIN(binary)存放二进制数据的列
UN(unsigned)无符号数据类型(非负数)
ZF(zero fill) 填充0 例如字段内容是1 int(4), 则内容显示为0001 
AI(Auto Increment)值自动增长
G(generated column)基于其他列的公式生成值的列
打开MySQL数据库安装目录下的bin文件夹:'F:\MySQL\MySQL Server 8.0\bin'
导出整个数据库(含数据)
.\mysqldump -u 用户名 -p 数据库名 > 导出路径/导出文件名
.\mysqldump -u root -p shooping > E:\下载\shooping.sql
导出单个表(含数据)
.\mysqldump -u 用户名 -p 数据库名 表名 > 导出路径/导出文件名
mysql修改字段类型
只修改列的数据类型的方法:
alter table 表名 modify column 列名 新的列的类型
同时修改列名和列的数据类型的方法:
alter table 表名 change column 旧列名 新列名 新的列类型
ALTER  TABLE 表名 MODIFY 字段名 新数据类型 新类型长度  新默认值  新注释;
mysql修改字段名
ALTER  TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型 DEFAULT 默认值 COMMENT '注释';
修改表名
rename table 旧表名 to 新表名;
alter table 旧表名 rename [as] 新表名;
修改表的注释
ALTER TABLE 表名 COMMENT '新注释';

在指定位置插入新字段
ALTER TABLE 表名 ADD 字段名 字段类型 是否可为空 COMMENT '注释' AFTER 指定某字段;

删除字段
ALTER TABLE 表名 DROP 字段名;

通过 * 把 users 表中所有的数据查询出来
select * from users

从 users 表中把 username 和 password 对应的数据查询出来
select username, password from users

向 users 表中,插入新数据,username 的值为 tony stark  password 的值为 098123
insert into users (username, password) values ('tony stark', '098123')

将 id 为 4 的用户密码,更新成 888888
update users set password='888888' where id=4

更新 id 为 2 的用户,把用户密码更新为 admin123  同时,把用户的状态更新为 1
update users set password='admin123', status=1 where id=2

删除 users 表中, id 为 4 的用户
delete from users where id=4

使用 AND 来显示所有状态为0且id小于3的用户
select * from users where status=0 and id<3

使用 or 来显示所有状态为1 或 username 为 zs 的用户
select * from users where status=1 or username='zs'

对users表中的数据,按照 status 字段进行升序排序
select * from users order by status

按照 id 对结果进行降序的排序  desc 表示降序排序   asc 表示升序排序(默认情况下,就是升序排序的)
select * from users order by id desc

对 users 表中的数据,先按照 status 进行降序排序,再按照 username 字母的顺序,进行升序的排序
select * from users order by status desc, username asc

使用 count(*) 来统计 users 表中,状态为 0 用户的总数量
select count(*) from users where status=0

使用 AS 关键字给列起别名
select count(*) as total from users where status=0
select username as uname, password as upwd from users

在这里插入图片描述

整数类型:

整数类型一共有 5 种,包括 TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)和 BIGINT,它们的区别如下表所示:
在这里插入图片描述

浮点数类型和定点数类型

浮点数类型有 FLOAT、DOUBLE、REAL,它们的区别如下表所示:
在这里插入图片描述

注意:
(1)REAL 默认就是 DOUBLE。如果你把 SQL 模式设定为启用“REAL_AS_FLOAT”,那么,MySQL 就认为 REAL 是 FLOAT,启用命令:SET sql_mode = “REAL_AS_FLOAT”;
(2)浮点数类型不精确。为什么不精确将在下节讲解。

日期和时间类型

日期时间类型有 YEAR(年)、TIME(时间)、DATE(日期),DATETIME和TIMESTAMP 类型,它们的区别如下表所示:
在这里插入图片描述

注意:
(1)为了确保数据的完整性和系统的稳定性,优先考虑使用 DATETIME 类型。
(2)为什么时间类型 TIME 的取值范围不是 -23:59:59~23:59:59 呢?原因是 MySQL 设计的 TIME 类型,不光表示一天之内的时间,而且可以用来表示一个时间间隔,这个时间间隔可以超过 24 小时。

字符串类型

文本类型有CHAR、VARCHAR、TEXT、ENUM 和 SET 等,它们的区别如下表所示:
在这里插入图片描述

注意: TEXT由于实际存储的长度不确定,MySQL 不允许 TEXT 类型的字段做主键。遇到这种情况,你只能采用 CHAR(M),或者 VARCHAR(M)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值