第二章 数据库基础知识

数据库的基础知识

1.数据库与表的基本结构

在这里插入图片描述

2.数据库的管理

1). 数据库的基本操作

  • 查看已有库
show databases ;
  • 创建库(可指定字符集)
create database 库名[character set 某一字符集]; 例如 utf-8
  • 查看创建库的语句(查看字符集)
 SHOW CREATE DATABASE 库名;
  • 查看当前所在库
  SELECT DATABASE();
  • 切换库
USE 库名
  • 查看库中已有表
SHOW TABLES;
  • 删除库
 DROP DATABASE 库名;

2). 库名的命名规则

  • 数字,字母,下划线组成
  • 库名唯一,不能重复
  • 不能使用mysql关键字和特殊字符
  • 一般使用小写

3.数据表的管理

1). 数据表的基本操作

  • 创建表(可指定字符集)
CREATE TABLE 表名(字段名 数据类型,字段名 数据类型,.......字段名 数据类型)[CHARACTER SET 某一字符集];
  • 查看已有表的字符集
SHOW CREATE TABLE 表名;
  • 查看表结构
DESC 表名;
  • 删除表
DROP TABLE 表名;

4.表记录管理 ——增删改查

  1. 插入(INSERT)
  • 插入完整记录
INSERT INTO 表名 VALUES(值1),(值2),.......;
  • 插入指点字段
INSERT INTO 表名(字段名1,字段名2...) VALUES(1),(值2),.......;
  1. 查询(SELECT)
  • 查看表的所有信息
SELECT * FROM 表名 [WHERE 条件];
  • 查看表中指定字段的信息
SELECT 字段名1,字段名2..... FROM 表名[WHERE 条件];
  1. 删除(DELETE)
DELETE FROM 表名 WHERE 条件;
注意:若不加WHERE条件,表中所有记录会被清空
  1. 更新(UPDATE)
UPDATE 表名 SET 字段名1=1,字段名2=2....WHERE 条件;
注意:一定要加WHERE条件,否则会将表中记录全部修改

5.表字段管理 ——增删改查

  1. 添加字段(ADD)
ALTER TABLE 表名 ADD 字段名 数据类型; 		添加到最后一列(默认)
ALTER TABLE 表名 ADD 字段名 数据类型 FIRST; 		添加到第一列
ALTER TABLE 表名 ADD 字段名 数据类型 AFTER 字段名; 		添加某一字段后面
  1. 删除字段(DROP)
ALTER TABLE 表名 DROP 字段名;
注意;添加字段时必须指定数据类型,删除字段时无需指定数据类型
  1. 修改字段的数据类型(MODIFY)
ALTER TABLE 表名 MODIFY 字段名 新数据类型;
注意;添加字段名不变,只修改字段的数据类型
  1. 表重命名(RENAME)
ALTER TABLE 表名 RENAME 新表名;
注意;添加字段时必须指定数据类型,删除字段时无需指定数据类型
  1. 表字段重命名(CHANGE)
ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型;

6.运算符操作

  1. 运算符集锦
    在这里插入图片描述
  2. 运算符操作例题

在这里插入图片描述

2.1数值比较/字符比价
1)查找攻击力高于150的英雄的名字和攻击值

SELECT name ,attack FROM hero WHERE attack>150;

2)将赵云的攻击力设置为360,防御力设置为68

UPDATE hero SET attack=360 ,defense=68 WHERE name="赵云";
# 然后再把赵云的记录查找出来看看
SELECT * FROM hero WHERE name="赵云";

2.2逻辑比较
1)查找攻击力高于200的魏国英雄的名字和攻击值

SELECT name,attack FROM hero WHERE attack>200 and country="魏国";

2)查找所有蜀国和魏国的英雄信息

SELECT * FROM hero WHERE contry="魏国" or country="蜀国";

2.3范围内比较
1)查找攻击力介于100-200之间的蜀国英雄信息

SELECT * FROM hero WHERE attack BETWEEN 100 AND 200 countury="蜀国";

2)查找蜀国和吴国以外的国家的女英雄信息

SELECT * FROM hero WHERE country OUT IN("蜀国","吴国") AND sex="女";

3)查找id为1,3,5的蜀国英雄和貂蝉的信息

SELECT *FROM hero WHERE id IN("1","3","5") AND country="蜀国" or name="貂蝉";

2.4 匹配空,非空
1)查找姓名为空值(NULL)的英雄信息

SELECT * FROM hero WHERE name IS NULL;

2)查找姓名为非空的英雄信息

SELECT * FROM hero WHERE name IS ONT NULL;

3)查找姓名为“”的英雄信息。(这里的“” 代表是空的字符串)

SELECT * FROM hero WHERE name="";

2.5模糊比较
’ _ ’ :下划线匹配一个字符
‘%’ :百分号匹配零个或者多个字符

SELECT name FROM hero WHERE name LIKE '_%_' #name至少两个字符
SELECT name FROM hero WHERE name LIKE '%'   #name至少有零个字符
SELECT name FROM hero WHERE name LIKE '___' #name至少有三个字符
SELECT name FROM hero WHERE name LIKE '赵%' #name第一个字符是'赵'
SHOW TABLES LIKE 't%'                       # 首字母为't'的表
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值