前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

干货 | 带你零基础学习MySQL(二)(mysql 基础教程)

qiguaw 2024-10-20 08:45:05 资源文章 67 ℃ 0 评论

相信大家已经装好软件了,那今天就跟着一起来实操吧。

一、SQL语言简介

SQL:Structure Query Language,用户完成数据库管理,数据增删改查,其特点如下:

  • 每条SQL语句必须以分号结束;
  • SQL中自带的编程语言不区分大小写,例如:createCREATE 都可以,一般在应用中,软件会自动补齐,所以不必担心出错;但在给数据库、表名命名时,需要主要大小写的区别,例如:table_aTABLE_a,他们是不同的表,所以特别注意这点。

二、配置环境

1.Windows用户

Windows用户首先打开phpstudy,启动MySQL服务,然后最小化就不用管它了,MAC用户可省略此步骤,直接进入下一步,如下图所示:

2.打开Navicat premium

  • 新建MySQL连接,创建本地数据库
  • 连接名:risk_test(可自主命名,能够体现数据库的主题即可)
  • 主机名或IP地址:localhost
  • 端口:3306
  • 用户名:root
  • 密码:root

特别注意:生成数据库后,只需要操作里面的risk_test,其余的information schema、mysql、performance_schema、sys均为系统自带的,属于数据库的基本框架,千万不要删除,使用的过程中不用动它就可以了。

3.页面介绍

  • 选中新建的数据库,左键双击,会出现下拉菜单,常用的有表、函数、事件和查询;
  • 表即该数据库中所有的表(常用)
  • 函数即设定的运算代码
  • 事件常用于定时运行代码(如:备份数据)
  • 查询是最常用的一块,几乎所有的代码操作都可以在这里完成

三、SQL语句实现增删改查

1.创建库和表(create)

(1)查看数据库

-- 先查看所有的库(注意databases要用复数形式)

show databases;

(2)增加数据库

如果你还想增加个risk_test1数据库,该如何操作呢?点击查询,新建查询,输入以下代码,选中需要执行的代码,右键点击,选择:运行已选择的,即可得到相应的结果。或者新建连接,按照建立risk_test的方式来建立也可以,自己尝试操作下,这里就不截图展示了。

-- 创建新的数据库(单数)
create database 数据库名
如:create database risk_test1;

(3)回到之前risk_test数据库上新建表

-- 创建一个表
 create table 表名称(
	  字段1  类型(长度)  约束,
	  字段2  类型(长度)  约束,
	  ......
	)[default charset=字符集];

示例:创建订单表(orders), 包含订单编号、客户名称字段
	 create table orders(	 
	 order_id  varchar(32),
	   cust_name varchar(128)
	 ) default charset=utf8;

常见错误:

  • No database select: 没有进入库
  • 括号不匹配
  • utf8写成了utf-8
  • 把括号、分号写成中文符号

2.插入数据 (insert into)

(1)所有字段都插入或选择性插入

-- 所有字段都插值
    insert into orders values
	('201801010001','C0001',now(),
	 1, 1, 100.00);

-- 指定字段插入
      insert into 表名(字段列表)
      values(值列表);
	  
-- 示例:向订单表插入一笔数据,只插入订单编号、客户编号两个字段值	
	  insert into orders(order_id,cust_id)
	  values('201801010002','C0002');

说明:

  • 没有指定字段,表示所有字段都要赋值
  • 字段值列表中,字段数目、顺序、类型
  • 要和表结构定义的一致
  • now()表示取系统当前日期时间
  • 字符串类型必须要单引号引起来,
  • 日期时间、数值类型不用单引号
  • 空值用NULL表示

(2)一个语句插入多笔数据

	  insert into 表名(字段列表) values
	  (值列表1),
	  (值列表2),
	  ......;
	-- 示例:
	  insert into orders values
	  ('201801010003','C0003',now(),1,1,200),	  
	  ('201801010004','C0004',now(),1,3,480);

(3)示图

3.查询(select)

(1)语法

  select * from 表名 [where 查询条件];

	select 字段1, 字段2 from 表名
	[where 查询条件];

(2)示例

-- 查询所有数据、所有字段
	  select * from orders;

-- 查询订单编号、金额
	  select order_id, amt from orders;

-- 查询指定字段,给每个字段起别名
	  select order_id "订单编号",
	            amt "订单总金额"
	  from orders;

-- 带条件的查询
	  select * from orders 
	  where order_id = '201801010001';

-- 带多个条件查询,多个条件同时满足:
	  select * from orders 
	  where order_id = '201801010001'
	  and status = 1;
	  
-- 多个条件满足其中一个:	  
	  select * from orders 
	  where order_id = '201801010001'
	  or status = 1;

(3)示图

4.修改(update)

(1)语法

update 表名
      set 字段1 = 值1,
	          字段2 = 值2,
		  ......
	where 条件表达式;

(2)示例

-- 修改某个订单状态
    update orders
    set status = 2
    where order_id = '201801010001';

-- 修改某个订单的金额、状态
    update orders 
    set amt = amt - 20,
	  status = 2
	  where order_id = '201801010001';

注意:

  • 修改的时候一定要严格限制条件,不然可能整张表都被改
  • 设置的值要和字段类型匹配,不然就无法修改

5.删除(delete)

(1)语法

delete from 表名 where 条件表达式;

(2)示例

-- 删除订单编号为201801010002的数据
   delete from orders 
   where order_id = '201801010002'; 

注意:

  • 条件进行严格限制,不然数据会损失
  • 真实项目中,删除之前必须做备份(数据分析师最基本素养)

四、结束语

今天带领大家实现增删改查,是不是很容易上手,其实这些都是标准的语句,只要在实际应用上,换成自己的数据即可实现了。

虽然简单,大家也要多加练习,夯实基础,这样后面比较复杂的语句就更容易上手了。

好了,下节课将介绍MySQL数据类型以及更多查询语句,欢迎大家关注我,也可以留言一起交流分享学习经验。

赠人玫瑰,手有余香~

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表