数据库基础 - 数据类型、关键字、cmd中操作数据库的命令

本文介绍在CMD中如何操作数据库,包括连接数据库、查询数据库及表结构等基本命令。同时讲解了常见数据类型如数值类型、日期时间类型和字符串类型的使用,并列举了SQL关键字及其用法,如主键、外键、非空、去重等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cmd中操作数据库的命令

mysql -hlocalhost -用户名 -密码
show database;查询数据库中的小数据库
show 数据库名;查询某一个小数据库
show 表名;查询表的结构
exit 退出

数据类型

数值类型

int :整形
double:双精度,浮点型
float:单精度,浮点型
decimal:小数值

日期和时间类型

DATE:日期,YYYY-MM-DD
TIME:时间,hh:mm:ss
YEAR:年份,YYYY
DATETIME:混合时间日期,YYYY-MM-DD hh:mm:ss
TIMESTAMP:时间戳,YYYY-MM-DD hh:mm:ss

字符串类型

char :固定长度字符, char(5):每次输入一个字符,就按照五个字节去计算
varchar :可变长度字符, varchar(10):输入一个字符就按照一个字节去算,其余九个字节自动释放
text:文本数据

关键字

名称关键字含义例句
主键primary key唯一标识数据库中记录CREATE TABLE table1(id int NOT NULL, PRIMARY KEY(id)) 创建表的时候,将id设置为主键
外键foreign key通过数据与另一张表关联ALTER TABLE table2 ADD CONSTRAINT foreign_key_name FOREIGN KEY (key1) REFERENCES table1 (id);在表2中添加外键约束,外键名为key1,关联的是表1中的id
非空not NULL不可为空CREATE TABLE table1(id int NOT NULL, PRIMARY KEY(id)) 创建表的时候,将id设置为非空
为空NULL为空SELECT NAME FORM table1 where field1 is NULL;查询table1中的name,并且field1中的值为空
唯一unique唯一标识数据库中的记录CREATE TABLE table1(id int NOT NULL, UNIQUE(id)) 创建表的时候,将id设置为唯一
去重distinct去掉重复的值SELECT DISTINCT MAX(salary) FROM table1; 查询table1中的最高工资,重复的不显示
逻辑 或or筛选条件,跟在where之后,条件1 or 条件2,筛选条件满足两个条件中的其中一个即可SELECT name FROM table1 WHERE city = ’上海‘ or city = '杭州'; 在table1中查询城市在上海或者杭州的人员的名称
逻辑 与and筛选条件,跟在where之后,条件1 and 条件2,筛选条件满足两个条件才可以SELECT name FROM table1 WHERE city = ’上海‘ and township = '浦东新区'; 在table1中查询城市在上海并且在浦东新区的人员的名称
逻辑 非not不满足not之后的元素被筛选出来SELECT name FROM table1 WHERE city NOT IN ('上海','北京','天津','杭州');在table1中查找城市不在上海、北京、天津、杭州的人员名称
模糊查询like模糊查找与关键字匹配的信息SELECT name FROM table1 where name LIKE '张%';查询table1中以张开头的的name记录
通配符 - 单个字符__任意单个字符SELECT name FROM table1 where name LIKE '_ang';查询table1中第一个字符之后是ang的name记录
通配符 - 多个字符%任意多个字符 xxx% %xxx %xxx%SELECT name FROM table1 where name LIKE '%zhang';查询table1中以zhang结尾的name记录
范围查询in多个值中进行匹配查询SELECT name FROM table1 WHERE city IN ('上海','北京','天津','杭州');在table1中查找城市在上海、北京、天津、杭州的人员名称
范围内查询between… and…在两个数值之间进行匹配查询,包含边界值SELECT name,salary FROM table1 WHERE salary between 10000 and 20000;table1中查找薪资在1w和2w之间的员工名称以及薪水
排序order byorder by 列名1 ,列名2 如果列名1相同,则按照列名2排序,默认按照升序排序SELECT name, salary FROM table1 ORDER BY salary; 查询table1中的姓名和薪水,按照薪水升序排列
降序desc降序排序,跟order by使用SELECT name, salary FROM table1 ORDER BY salary DESC; 查询table1中的姓名和薪水,按照薪水降序排列
升序asc升序排序,跟order by使用SELECT name, salary FROM table1 ORDER BY salary ASC; 查询table1中的姓名和薪水,按照薪水升序排列
聚合函数 - 求和count(*), count(列名)计算有值项的次数,不为空就累加1SELECT COUNT(name) FROM table1;计算table1中的总人数
聚合函数 - 总和sum(*)某一个字段的值的总和SELECT sum(salary) FROM table1;查找table1中的薪水总和
聚合函数 - 最大值max(*)某一个字段的值的最大值SELECT max(salary) FROM table1;查找table1中的薪水最大值
聚合函数 - 最小值min(*)某一个字段的值的最小值SELECT min(salary) FROM table1;查找table1中的薪水最小值
聚合函数 - 平均值avg(*)某一个字段的值的平均值SELECT avg(salary) FROM table1;查找table1中的薪水平均值
分组group by按照某一个字段分组SELECT max(salary) FROM table1 GROUP BY department;查找table1中的薪水最大值,按照部门分组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值