MySQL学习笔记(1)——基本语法【注释、增删改、查】与MySQL Workbench基本操作

学习链接:https://www.bilibili.com/video/BV1Kr4y1i7ru

1 MySQL

客户端可以创建多个数据库,一个数据库内能创建多个二维表。

MySQL启动与关闭:
net start mysql
net stop mysql
MySQL客户端连接:
mysql [-h localhost] [-P 3306] -u root -p

2 MySQL通用语法

(1)SQL能单行或多行书写,分号“;”结尾。
(2)空格/缩进增强可读性
(3)SQL不区分大小写,关键词建议使用大写。

1、单行注释:-- 注释
2、多行注释:/* */

3 SQL分类

(1)DDL:数据定义语句,定义数据库的对象(数据库,表,字段)。
(2)DML:数据操作语句,对数据进行增删改。
(3)DQL:数据查询语句,查询表中信息。
(4)DCL:数据控制语句,用来创建数据库用户,控制数据库的访问权限。

3.1 DDL语句

3.1.1 数据库操作

cmd连接客户端后输入以下命令:
1、查询所有数据库:
show databases;
2、查询当前数据库:
select database();
3、创建数据库:
create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];
字符集:utf8(3个字节),utf8mb4(4个字节,建议使用)
4、删除数据库:
drop database [if exists] 数据库名;
5、使用数据库:
use 数据库名;

3.1.2 表操作

6、查询当前数据库所有表:
show tables;
7、查询表结构:
desc 表名;
8、查询指定表的建表语句:
show create table 表名;(反引号可加可不加)
9、创建表:表名一定要加反引号“`”

CREATE TABLE `表名`(
	字段1 字段1类型 [COMMENT 字段1注释],
	字段2 字段2类型 [COMMENT 字段2注释],
	字段3 字段3类型 [COMMENT 字段3注释],
	...
	字段n 字段n类型 [COMMENT 字段n注释]			# 这里没逗号
) [COMMENT 表注释];

10、修改表:
(1)添加字段:add
alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];
(2)修改数据类型:modify
alter table 表名 modify 字段名 新数据类型(长度);
(3)修改字段名和字段类型:change
alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];
(4)删除字段:drop
alter table 表名 drop 要删除的字段名;
(5)修改表名:rename to
alter table 旧表名 rename to 新表名;

11、删除表:
(1)删除表:drop
drop table [if exists] 表名;
(2)删除指定表,并重新创建该表(相当于清空表):truncate
truncate table 表名;

3.2 数据类型

3.2.1 数据类型

在这里插入图片描述
例子:
建立一个年龄:

age TINYINT UNSIGNED			# 0-225
score double(4,1)						# (整体长度,小数位数)

3.2.2 字符串类型

在这里插入图片描述
BLOB为二进制数据,用的少,一般用专用的服务器。
TEXT为文本数据。
char(10),未写入的用空格填充,性能高
varchar(10),计算长短,性能较差
例子:
用户名 username varchar(50)
性别 gender char(1)

3.2.3日期类型

在这里插入图片描述
例子:
birthday date

案例:根据需求创建表
编号
员工工号
员工姓名
性别
年龄
身份证号
入职时间

create table `emp`(
	id int unsigned comment '编号',
	worknum varchar(10) comment '工号',
	name varchar(10) comment '姓名',
	gender char(1) comment '性别',
	age tinyint unsigned comment '年龄',
	idcard char(18) comment '身份证号',
	entryDate date comment '入职时间'
) comment '员工表';

3.3 MySQL Workbench图形化界面

打开MySQL Workbench,登录账户后,点击左侧的schema。

3.3.1 新建数据库:

右键空白区域,Create schema,取名为test_003。
相当于命令:

CREATE SCHEMA `test_003` ;

schema:数据库

3.3.2 新建表:

选择一个表的Table,右键新建,取名为user。
添加信息。
相当于命令:

CREATE TABLE `test_003`.`user` (
  `id` INT NOT NULL COMMENT '编号',
  `name` VARCHAR(50) NULL COMMENT '姓名',
  PRIMARY KEY (`id`)
) COMMENT = '用户表';

3.3.3 命令输入

在Query中输入命令并点击Execute(闪电)执行。

show databases;
use test_002;
show tables;
desc employee;

在这里插入图片描述

3.4 DML-数据操作语句,增删改

添加数据:INSERT
修改数据:UPDATE
删除数据:DELETE

3.4.1 添加数据:insert

(1)给指定字段添加数据:
insert into 表名(字段名1,字段名2,...) values(值1,值2,...);
(2)给全部字段添加数据:
insert into 表名 values (值1,值2,...);
(3)批量添加数据:
insert into 表名(字段名1,字段名2,...) values (值1,值2,...),(值1,值2,...),(值1,值2,...);
insert into 表名 values (值1,值2,...),(值1,值2,...),(值1,值2,...);
注意:插入数据的字段和值一一对应。
字符串和日期型数据应该包含在引号内。
插入的数据大小,应该在字段的规定范围内。

3.4.2 修改数据:update

update 表名 set 字段名1=值1,字段名2=值2,...[where (条件)];
例子:

update employee set name='李清照',gender='女' where (name = '王冰');
update `test_001`.`employee` set `name`='李清照' where (name = '王冰');
update employee set entryDate='2008-01-01';		-- 不写where更新整张表的信息,一般在安全模式下不可使用

3.4.3 删除数据:delete

delete from 表名 [where 条件];
注意:如果delete不添加条件,则会删除整张表的所有数据。
不能删除某个字段的值,需要使用修改数据update将该字段的值改为null。

3.4.4 查看表内数据:select

查看表内信息,图形化界面或者命令:
右键表,Select Rows - Limit 1000。
或输入命令:select * from test_002.employee;
在这里插入图片描述
在这里插入图片描述

3.5 DQL-数据查询语言,用来查询数据库中表的记录

查询关键词:select

3.5.1 DQL语法

SELECT
	字段列表
FROM
	表名列表
WHERE
	条件列表
GROUP BY
	分组字段
HAVING
	分组后条件列表
ORDER BY
	排序字段列表
LIMIT
	分页参数

3.5.2 基本查询

1、查询多个字段:
select 字段1,字段2,字段3,... from 表名;
select * from 表名;(查询返回所有的字段,项目中最好不要用*)
2、设置别名:
select 字段1 [as 别名1], 字段2 [as 别名2], ... from 表名;
3、去除重复记录(不改数据库,显示不重复):
select DISTINCT 字段列表 from 表名;
(2)条件查询(where)
(3)聚合查询(count、max、min、avg、sum)
(4)分组查询(group by)
(5)排序查询(order by)
(6)分页查询(limit)

例子:
1、查询名字,姓名,年龄,命令:
select id,name,age from employee;
在这里插入图片描述
2、name起别名:
select name as '姓名' from employee;(as可省略)
在这里插入图片描述
3、不显示重复的信息,命令:
select DISTINCT name from employee;
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45362336/article/details/130578878