Mysql操作基本命令,学习笔记

我们常说的数据库,一般包含2个含义,一个是数据库管理工具(mysql服务端,以mysqld表示)+操作用的客户端(mysql客户端),另一个是装数据用的仓库。对于数据库管理工具常,我们用的功能就是针对数据库的操作就是一个增、删、改、查的数据存储库的操作。操作的对象包括数据库、库内的表格、表格里的数据、权限的控制等进行操作。不常用的功能,数据库也能编程,帮你做好操作逻辑、函数什么的,用户只获取就行,安全性更高、操作性能更好,但新手很少用。(学习视频里没有)

1、mysql登录

mysql -uroot -p
#输入密码登录

2、显示数据库名称

show databases;#后面可以加备注,多行注释/*neirong*/

3、创建数据库

create database if not exists database1;#如果不存在则创建database1

4、删除数据库

drop database database1;

5、进入数据库

use database1;#进入的前提时存在啊,如果之前已经删除了,就再创建回来。

6、显示表名称

show tables;#显示所有表的信息,这是新建库,没有表,那就去mysql库里看看
use mysql;
show tables;

7、显示表的描述(字段内容及属性)

desc func;#以func表为例子,describe(描述-动词)description(描述-名词)的缩写

8、创建表、查看数据库中的表格名、查看表的结构、删除表、删除表内某行数据、清空表数据等

#不要在系统自带的那几个数据库里面做数据相关的操作,先切换回database1数据库里操作
use database1;
create table table1_user(
id int,
username varchar(20),
password varchar(20)
);

show tables;#看看数据库下有哪些表
desc talbe1_user;#查看表格的描述

#table1_user是表的名称,id+空格+数据类型,后面跟个","(英文逗号),然后换行下一个字段,最后一行后面不能加逗号。这里的id、username、password就是表里面每一列的头,标准说法叫字段(Field)。数据类型后面括号里的数据表示最大长度。

DROP TABLE table1_user;#删除表格
DELETE FROM table1_user WHERE id = 1;#删除id=1的那行数据记录
TRUNCATE TABLE table1_user;清除表格内所有内容

9、数据类型(简单介绍常用的)

数值类型:整数类型主要使用int(4个字节),带小数类型主要使用double(双精度浮点数,8个字节),double(最大值总长度,小数点后保留位数)

时间日期类型:date(3个字节),time(3个字节),year(1个字节),datetime(8个字节),timestamp(时间戳,包含时间、日期、年份,默认0时区,转换需要时区计算,mysql5到2038年,mysql8到3001年)

字符串类型:char(0-255字节),varchar(0-65535字节)

———2—0—2—4—0—3—3—0———

10、在表格中插入数据insert

INSERT INTO table_user (username, password) VALUES ('john_doe', 'A123456b+');
#把内容插入到表table_user的列1(username)、列2(password)两个字段中,内容分别为john_doe和A123456b+

11、查询命令:select

select * form  database1.table1_user;
#查询 列1···列n中的数据,在数据库database1下面的表table1—_user里面,其中*表示所有列;
select * form database1.table1_user where username = 'john_doe';
#查询table1_user表格中,username 是john_joe的所有列(字段)的内容;
select * form database1.table1_user where username like '%john%';
#查询table1_user表格中,username 包含john的所有列的内容;
SELECT * FROM table1_user LIMIT 1000 OFFSET 2000; 
#查询-- 返回第2000条之后的1000条数据即第2001条到第3000条;
SELECT * FROM table1_user ORDER BY id ASC; 
#-- 按id值的升序排列
SELECT * FROM table1_user ORDER BY id DESC;
#-- 按id值的降序排列
SELECT DISTINCT username,password FROM table1_user;
#DISTINCT 去掉username都重复的数据,查询到的数据只显示1条记录仅包含username,password两列字段。
select count(*) from database1.table1_user;
#查询数据库database1下的表格table1_user有多少条数据。

12、如何运用SELECT嵌套子查询实现多表格内容组合返回:

假设有两个表:orderscustomersorders 表存储订单信息,包括订单号 (order_id) 和客户号 (customer_id)。customers 表存储客户信息,包括客户号 (customer_id) 和客户姓名 (customer_name)。现在我们想要找出每个客户的订单数。

我们可以使用嵌套子查询来完成此任务。首先,我们需要从 orders 表中计算每个客户的订单数,然后将结果与 customers 表连接以获取客户姓名。以下是实现这个目标的 SQL 查询:

SELECT c.customer_name, o.order_count
FROM customers c
JOIN (
    SELECT customer_id, COUNT(*) AS order_count
    FROM orders
    GROUP BY customer_id
) AS o ON c.customer_id = o.customer_id;
#其中,FROM customers c是定义c是customers的别名;(
    SELECT customer_id, COUNT(*) AS order_count
    FROM orders
    GROUP BY customer_id
) AS o,是定义增段的搜索形成的虚拟表的别名是o;

在这个查询中,内部查询计算了每个客户的订单数,并给每个客户分配了一个 order_count。外部查询然后将这个结果与 customers 表连接,以获得客户姓名和订单数。

13、更新表格内容:update table_name set

UPDATE table1_user SET username = 'new_username', password = 'new_password' WHERE id = 1;
#更新表格table1_user 中 id=1的那行数据,列username设置为new_username,password列设置为new_password;

———2—0—2—4—0—4—2—8———

数据库常用命令基本完成,剩下的就是在实际使用中对以上命令的灵活的组合运用了。祝好运~~~