一、链接mysql参数选项说明
-u, -user=name 指定登录用户名
-p, -password 指定登录密码(注意是小写p),一定要放到最后面
-h, -host=name 指定数据库的主机地址
-P, -port=xxx 指定数据库的端口号(大写P)
-S,-socket=name 指定socket文件
-e, -execute=name 使用非交互式操作(在shell终端执行sql语句)
1.mysqladmin [主体命令 ] -[参数选项]
password 'new-password' 更改密码
reload 刷新授权表
shutdown 停止mysql服务
status 简短查看数据库状态信息
start-slave 启动slave(主数据库的备份)
stop-slave 停止slave
version 查看当前mysql数据库的版本信息
案例:更改root账号的密码为root
# mysqladmin password '新密码' -p
Enter password:'旧密码'
案例:更改密码后,建议刷新授权表(mysql> flush privileges;)
# mysqladmin reload -p
Enter password:123
案例:停止mysql
# mysqladmin shutdown -p
Enter password:123
案例:查看mysql状态
# mysqladmin status -p
Enter password:123
案例:查询mysql版本
# mysqladmin version -p
Enter password:123
二、.SQL语句的分类
DDL(Data Definition Languages)语
数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的
定义。常用的语句关键字主要包括 create、drop、alter、rename、truncate。
DML(Data Manipulation Language)语句:
数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用的语句
关键字主要包括 insert、delete、update等。
DCL(Data Control Language)语句:
数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数
据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括 grant、revoke
等。
DQL(Data Query Language)语句:
数据查询语句,用于从一个或多个表中检索信息。主要的语句关键字包括select
三、SQL语句的基本操作
1.MySQL内部结构
注:我们平常说的MySQL,其实主要指的是MySQL数据库管理软件。
一个MySQL DBMS可以同时存放多个数据库,理论上一个项目就对应一个数据库。如博客项目blog数据库、商城项目shop数据库、微信项目wechat数据库。一个数据库中还可以同时包含多个数据表,而数据表才是真正用于存放数据的位置。(类似我们Office软件中的Excel表格),理论上一个功能就对应一个数据表。如博客系统中的用户管理功能,就需要一个user数据表、博客中的文章就需要一个article数据表、博客中的评论就需要一个message数据表。
一个数据表又可以拆分为多个字段,每个字段就是一个属性。
一个数据表除了字段以外,还有很多行,每一行都是一条完整的数据(记录)。
2.数据库的基本操作
1.创建数据库
普及英语小课堂:
创建=>create
数据库=>database
基本语法:
mysql> create database 数据库名称;
特别注意:在MySQL中,当一条SQL语句编写完毕后,一定要使用分号;进行结尾,否则
系统认为这条语句还没有结束。
案例:创建数据库的相关案例
创建db1库
create database db1;
创建db1库并指定默认字符集
create database db1 default charset gbk;
如果存在不报错(if not exists)
create database if not exists db1 default character set utf8;
说明:不能创建相同名字的数据库!
扩展:编码格式,常见的gbk(中国的编码格式)与utf8(国际通用编码格式)
②查询已创建数据库
英语小课堂:
显示=>show
数据库=>database
基本语法: 显示所有数据库
mysql> show databases;
显示某个数据库的数据结构
mysql> show create database 数据库名称;
③修改数据库信息
在MySQL5以后的版本中,MySQL不支持更改数据库的名称。我们所谓的修改数据库主要修改的是数据库的编码格式。
英语小课堂:
修改=>alter
数据库=>database
mysql> alter database 数据库名称 default charset=新编码格式;
案例:把db_itheima数据库的编码格式更改为gbk
mysql> alter database db_itheima default charset=gbk;
④删除数据库
英语小课堂:
删除=>drop
数据库=>database
基本语法:
# drop database 数据库名称;
案例:删除数据库
mysql> drop database 数据库名称;
四、数据表的基本操作
①数据表的创建
英语小课堂:
创建=> create
数据表 => table
基本语法:
mysql> create table 据表名称(
字段1字段类型[字段约束],
字段2字段类型[字段约束],
);
案例:创建一个admin管理员表,拥有3个字段(编号、用户名称、用户密码)
mysql> create database db_itheima;
mysql> use db_itheima;
use在MySQL中的含义代表选择,use数据库名称相当于选择指定的数据库。而且use比
较特殊,其选择结束后,其尾部可以不加分号;但是强烈建议所有的SQL语句都要加分
号,养成一个好习惯。
mysql> create table tb_admin(
id tinyint,
username varchar(20),
password char(32)
)engine=innodb default charset=utf8;
tinyint:微整型,范围-128~127,无符号型,则表示0~255
表示字符串类型可以使用char与varchar,char代表固定长度的字段,varchar代表变化长
度的字段。
案例:创建一个article文章表,拥有4个字段(编号、标题、作者、内容)
mysql> use db_itheima;
mysql> create table tb_article(
id int,
title varchar(50),
author varchar(20),
content text
)engine=innodb default charset=utf8;
text:文本类型,一般情况下,用varchar存储不了的字符串信息,都建议使用text文本
进行处理。
varchar存储的最大长度,理论值65535个字符。但是实际上,有几个字符是用于存放内 容的长度的,所以真正可以使用的不足65535个字符,另外varchar类型存储的字符长度 还和编码格式有关。1个GBK格式的占用2个字节长度,1个UTF8格式的字符占用3个字节 长度。GBK = 65532-65533/2, UTF8 = 65532-65533/3
②查询已创建数据表
英语小课堂:
显示=> show
数据表二> table
显示所有数据表(当前数据库)
mysql> use数据库名称;
mysql> show tables;
显示数据表的创建过程(编码格式、字段等信息)
mysql> show create table 数据表名称;
或
mysql> desc数据表名称;
③修改数据表信息
数据表字段添加
英语小课堂:
修改=>alter
数据表=>table 基本语法:
mysql> alter table 数据表名称 add 新字段名称 字段类型 first|after 其他字段名称;
选项说明:
first:把新添加字段放在第一位
after 字段名称:把新添加字段放在指定字段的后面
案例:在tb_article文章表中添加一个addtime字段,类型为date(年-月-日)
mysql> alter table tb_article add addtime date after content;
五、数据的增删改查(重点)
① 数据的增加操作
基本语法:
mysql> insert into 数据表名称([字段1,字段2,字段3...]) values (字段1的值,字段2的值,字段3的值...);
特别注意:在SQL语句中,除了数字,其他类型的值,都需要使用引号引起来,否则插入时会报错。
第一步:准备一个数据表
mysql> use db_users;
mysql> create table tb_user(
id int,
username varchar(20),
age tinyint unsigned,
gender enum('男','女','保密'),
address varchar(255)
) engine=innodb default charset=utf8;
unsigned代表无符号型,只有0到正数。tinyint unsigned无符号型,范围0 ~ 255
enum枚举类型,多选一。只能从给定的值中选择一个
第二步:使用insert语句插入数据
mysql> insert into tb_user values (1,'李向阳',24,'男','广东省广州市');
mysql> insert into tb_user(id,username,age) values (2,'马鹏',23);
②数据的查询操作
基本语法:
mysql> select * from 数据表名称 [where 查询条件];
mysql> select id,username,age from 数据表名称 [where 查询条件];
案例:查询tb_user表中的所有记录
mysql> select * from tb_user;
案例:查询tb_user表中的id,username以及age字段中对应的数据信息
mysql> select id,username,age from tb_user;
案例:只查询id=2的小伙伴信息
mysql> select * from tb_user where id=2;
案例:查询年龄大于23岁的小伙伴信息
mysql> select * from tb_user where age>23;
③数据的修改操作
基本语法:
mysql> update 数据表名称 set 字段1=更新后的值,字段2=更新后的值,... where 更新条件;
特别说明:如果在更新数据时,不指定更新条件,则其会把这个数据表的所有记录全部更新一遍。
案例:修改username='马鹏'这条记录,将其性别更新为男,家庭住址更新为广东省深圳市
mysql> update tb_user set gender='男',address='广东省深圳市' where username='马鹏';
案例:今年是2020年,假设到了2021年,现在存储的学员年龄都差1岁,整体进行一次更新
mysql> update tb_user set age=age+1;
四、数据的删除操作
基本语法:
mysql> delete from 数据表名称 [where 删除条件];
案例:删除tb_user表中,id=1的用户信息
mysql> delete from tb_user where id=1;
评论区