mysql基础知识&&常用命令
了解
什么是数据库?什么是数据管理系统?什么是SQL,他们之间的关系又是什么?
数据库
英文单词DataBase,简称DB,按照一定格式存储数据的一些文件的组合。
顾名思义:存储数据的仓库,实际上就是一堆文件,这些文件中存储了具有特点格式的数据。
数据库管理系统
DataBaseManagement,简称DBMS。
数据库管理系统是专门用来管理数据库中数据的,数据库管理系统可以对数据库当中的数据进行增删改查。
SQL
程序员需要学习SQL语句,程序员通过编写SQL语句,然后DBMS负责执行SQL语句,最终来完成数据库中数据的增删改查操作。
三者之间的关系
DBMS --执行--> SQL --操作--> DB
SQL语句的分类
DQL
数据查询语言(凡是带有select关键字的都是查询语句)
DML
数据操作语言(凡是对表当中的数据data进行增删改的都是DML)
insert
增delete
删update
改
DDL
数据定义语言(凡是带有create、drop、alter的都是DDL)
create
新建==新增drop
删除alter
修改
主要是对表的结构进行操作
TCL
事务控制语言
包括:
commit;
事务提交rollback;
事务回滚
DCL
数据控制语言
基础知识
数据库当中是以表格的形式表示数据的。
任何一张表都有行和列
- 行(row):被称为数据/记录
- 列(column):被称为字段
每一个字段都有:字段名、数据类型、约束等属性
- 字段名就是一个名字。
- 数据类型:字符串、数字、日期等。
- 约束:约束有很多,其中一个叫唯一性约束,添加之后该字段中数据不能重复。
本地登录
显示密码的登录方式:mysql -u用户名 -p密码
隐藏密码的登陆方式:mysql -u用户名 -p
按下回车后输入密码
语法
- SQL 语句要以分号
;
结尾。 - SQL 不区分关键字的大小写。例如,不管写成 SELECT 还是 select,解释都是一样的。表名和列名也是如此。
\c
用来中止一条命令的输入。- 虽然可以根据个人喜好选择大写还是小写(或大小写混杂),但为了理解起来更加容易,一般书写为:
- 关键字大写。
- 数据库名、表名和列名等小写。
需要注意的是,插入到表中的数据是区分大小写的。例如,向数据库中插入单词 Computer、COMPUTER 或 computer,这三个是不一样的数据。
常用命令
创建数据库
- 创建数据库:
create database <数据库名>;
- 显示现有的数据库:
show databases;
- 使用某个数据库:
use <数据库名>
- 创建数据库时设置字符编码:
create database <数据库名> character set utf8;
- 查看和显示数据库的编码方式:
show create database <数据库名>;
- 修改数据库编码使用:
alter database <数据库名> character set utf8
; - 显示当前数据库:
select database();
创建数据表
- 查看某个数据库下有哪些表:
show tables;
- 创建表:
create table 表名(字段1 字段类型,字段2 字段类型,字段3 字段类型,…);
create table user(id INT, username CHAR(20), age INT);
- 显示表信息:
show create table <表名>;
- 给表增加字段:
alter table <表名> add <字段名> <数据类型>;
这种语法格式默认在表的最后位置(最后一列的后面)添加新字段。alter table user add sex CHAR(20);
- 在开头添加字段:
alter table <表名> add <字段名> <数据类型> FIRST;
FIRST 关键字一般放在语句的末尾。 - 在中间位置添加字段:
alter table <表名> add <字段名> <数据类型> AFTER <已存在的字段名>;
- 删除表的字段:
alter table <表名> drop <字段名>;
- 修改字段的数据类型:
alter table <表名> modify <字段名> <数据类型>
alter table user modify username VARCHAR(12);
- 修改字段的数据类型和字段名:
alter table <表名> change <原字段名> <新字段名> <数据类型>;
alter table user change username uname CHAR(20);
- 查看表中的数据:
select * from <表名>;
- 查看表结构:
desc <表名>;
- 删除表:
drop table <表名>;
数据操作
- 给表的指定字段添加数据:
insert into <表名>(字段1,字段2, ...) values(值1, 值2);
为指定字段添加数据时,指定字段无须与其在表中定义的顺序一致,只要与values中值的顺序一致即可。insert into user(username, password) values('cloud', 123);
- 删除特定数据记录:
delete from <表名> where 字段=字段值;
delete from user where username='cloud';
- 删除所有数据记录:
delete from <表名> where condition
或delete from <表名>
为了删除所有的数据记录,参数condition需要满足表中所有数据记录,如id>0
; 或者无关键字 WHERE 语句。delete from user where id>0; //或 delete from user where;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步