SQL基础知识梳理

一、数据处理准备

1 导入数据后,鼠标停留在tables下的项目中,选择最后一个图标可以显示这张表的所有数据,可以在此直接修改数据

2 显示所有数据库并选择想要的数据库

show databases
use sql_invoicing

3 若需要自己创建数据库,如果直接create database xinshuju,当数据库已经存在会报错

create database if not exists xinshuju

   若不需要这个数据库了需要将其删除,类似若直接删除当数据库不存在时会报错

drop database if exists xinshuju

4 数据类型,主要应用于表格的各列中,常用类型如下

5 创建完数据库后,需要对数据库中的数据进行创建

增:

CREATE TABLE xinshuju(
      name text
      age int
      gender varchar(10)
)

查看表的结构 DESC xinshuju

删:DROP xinshuju

改:(1)增加列:ALTER TABLE xinshuju ADD (city varchar(10))

         (2)删除列:ALTER TABLE xinshuju DROP city

         (3)修改表名:ALTER TABLE xinshuju RENAME TO stu

         (4)修改列名:ALTER TABLE xinshuju CHANGE gender sex CHAR(2)

         (5)修改列的数据类型:ALTER TABLE xinshuju MODIFY gender CHAR(2)

二、数据处理

1 数据修改

(1) 插入一行数据:INSERT INTO xinshuju(name,age,gender) VALUES ('lu','18','male')

     插入多行数据:INSERT INTO xinshuju(name,age,gender) VALUES ('lu','18','male'),('li','19','famale'),('liu','18','male'),

(2) 修改数据:UPDATE xinshuju SET name='wang',age='19' , gender='male' where name='YI'

(3) 删除单行数据:delete from xinshuju where name='YI'  

     删除所有数据:DELETE FROM xinshuju 或者是 TRUNCATE TABLE xinshuju(效率高!)

2 数据查询

select 列名-----from 表名-------where 行条件-------group by 对结果分组---------having 分组后行条件------order by 排序列-----limit 起始行,行数

1 where 后可以使用以下运算符:大于小于等于等组合符号、IS NULL、IS NOT NULL、IN、 NOT IN、AND 、OR、BETWEEN AND、LIKE

   注意:模糊查询LIKE,%表示0或多个字符,_表示任意单个字符

2 数据去重:SELECT DISTINCT consumer_id from consumers

3 将NULL值转变为0,IFNULL(gender,0)将gender列中的NULL 值转变为0

4 WHERE是对分组前的约束,group by 后边不能再用WHERE而是用HAVING,对分组后的数据进行约束

5 LIMIT限制查询的起始行和总行数,SELECT* FROM name limit 0,5,从第一行开始查询5行数据

6 多表查询:

内连接:只选出两张表中相互匹配的记录,如第一张表中name列wang、lu、li、yi,第二张表name列li、yi、zhang、jin,内连接结果只会显示name为li 和yi的数据

SELECT staff.name, department
FROM staff,deptno
WHERE staff.name=deptno.name

外连接分为左连接和右连接,显示左边表中所有记录,右边表匹配的显示NULL,以下为左连接,右连接与其类似,不作赘述

SELECT staff.name, department
FROM staff
LEFT JOIN deptno 
ON staff.name=deptno.name

  • 32
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值