Mysql数据库入门一

这篇博客介绍了数据库的基础概念,包括数据库和数据库管理系统的区别,重点讲解了MySQL中的CRUD操作,如创建、删除数据库,创建表并设置约束,以及数据的插入、更新和删除。还涉及了SQL的查询语言,如聚合函数、排序和分组查询。

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

数据库的概述:

1.什么是数据库?

  • 数据库(DataBase,DB):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合.
  • 文件系统,数据的仓库

2.数据库管理系统?

  • 数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。
  • 软件
  • 数据库=数据的集合+数据库软件

Tips:

通常情况,经常会用数据库来表示他们使用的数据库软件,这经常会引起混淆,确切的说,数据库软件应该为数据库管理系统,数据库是通过数据库管理系统创建和操作的。

SQL分类:

  • DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;
    CREATE、 ALTER、DROP(用来操作数据库和数据库表)

  • DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);
    INSERT、 UPDATE、 DELETE(用于操作数据)

  • DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别

  • DQL(Data Query Language):数据查询语言,用来查询记录(数据)
    SELECT(查询数据库表中的数据)

数据库的crud:

登录数据库:
mysql -uroot -p //按回车键然后输入密文密码 -p后面没有分号
mysql -uroot -p123456 //-p后面直接加上密码, 注:后面没有分号
使用数据库:
USE databaseName; // databaseName是你要切换的数据库名

创建数据库:
CREATE DATABASE databaseName; // databaseName要创建的数据库名

字符集(charset):是一套符号和编码;

校对规则(collation):是在字符集内用于比较字符的一套规则

CREATE DATABASE databaseName [CHARACTER SET charset] [COLLAT collation];

如:
CREATE DATABASE databaseName CHARACTER SET gbk COLLAT gbk_chines e_ci;
删除数据库:
DROP databaseName; // databaseName要删除的数据库
显示已有的数据库:
 SHOW DATABASES; // 别忘了databases 后面有s的哦
查看正在使用的数据库:
SELECT DATABASE();
查看数据库定义的信息:
SHOW CREATE DATABASE databaseName; // databaseName要查看的数据库
修改数据库:
alter DATABASE databaseName [CHARACTER SET charset]; // databaseName要修改的数据库, 后面加上需要修改的东西

表的CRUD(一):

显示所有的表:
SHOW TABLES; // 别玩了tables后面有s哦
查看表结构:
DESC tableName; // tableName要查看的表名
创建表:
CREATE TABLE tableName (
    列名 类型 约束,
    列名 类型 约束,
    列名 类型 约束,
    ....
);

如:
// 注意最后一条列名信息后面不需要逗号","
CREATE TABLE myDB (
    uid int auto_imcrement primary key,
    uname varchar(20),
    age int
);

// 或者在创建表的后面加一些信息
CREATE TABLE myDB (
    uid int auto_imcrement primary key,
    uname varchar(20),
    age int
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
约束:
  • not null: 非空 (存放数据的时候,该列不能为空)

  • unique: 唯一约束, 后面的数据不能和前面重复

  • primary key: 主键约束(非空+唯一); id:作为数据的唯一标识,通常给id int类型设置主键约束,auto_increment null
  • auto_increment: 自动增长列 ,一定是和主键一起使用的。
修改表:
// 修改表名方式一
RENAME TABLE old_tableName to new_tableName;
// 修改表名方式二
ALTER TABLE old_tableName RANAME new_tableName;

// 修改列的类型约束(只能修改类型和约束)
ALTER TABLE tableName MODIFY 列名 [类型] [约束];

// 修改列的名称(可以修改列名,类型和约束)
ALTER TABLE tableName CHANGE 旧列名 [新列名] [类型] [约束];
ALTER TABLE student CHANGE t_name s_name varchar(20); // 把t_name列名改为s_name列名

// 增加一列
ALTER TABLE tableNane ADD 列名类型 约束;

// 删除表
DROP TABLE tableName; 

表的CRUD(二)

插入数据:
// 对应列插入相应的值
INSERT INTO tableName(列, 列..) VALUE (值, 值..);

// 插入全部值 (有多少列就有多少有值, 如有空 要用NULL)
INSERT INTO tableName VALUE (值, 值...);
注意 :
  • 没有赋值的列,系统自动赋为null
  • 列名与列值的类型、个数、顺序要一一对应
  • 值不要超出列定义的长度
  • 如果插入空值,请使用null
  • 插入的日期和字符串,使用引号括起来
更新表数据:
UPDATE tableName SET 字段 = 值, 字段 = 值 [WHERE 条件];
删除表数据:
// 可以根据某个条件删除表数据
DELETE FROM tableName [WHERE 条件];

// 删除表再创建一张空表
TRUNCATE TABLE tableName;
查询表:
// 查询某张表的全部记录
SELECT * FROM tableName;

// 根据某些条件查询某些记录
SELECT [列名,列名] [*] [聚合函数][DISTINCT 字段] FROM 表名 [WHERE --> GROUP BY -->HAVING--> ORDER BY]
聚合函数: sum(), avg(), max(), min(), count();
// 查询学生表的chinese成绩的总和
SELECT SUM(chinese) FROM student;

// 查询学生表的chinese成绩的平均分
SELECT AVG(chinese) FROM student;

// 查询学生表的chinese成绩的最大值
SELECT MAX(chinese) FROM student;

// 查询学生表的chinese成绩的最小值
SELECT MIN(chinese) FROM student;

// 根据id查询有多少学生
SELECT COUNT(id) FROM student;
排序查询: asc-升序,desc-降序
// 根据升序查询学生的语文成绩
SELECT * FROM student ORDER BY chinese ASC;

// 根据降序查询学生的语文成绩
SELECT * FROM student ORDER BY chinese DESC;
group by:
语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。

例子: 比如我想根据性别分类列出男女的个数

SELECT sex,COUNT(*) AS sum FROM students GROUP BY(sex);

例如输出:
sex   sum
男     2
女     3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值