回炉重造之PHP十一--SQL基础

待吾功成天下日,回城铭古倾覆入史

SQL 基础

SQL简介

  1. SQL是结构化查询语言
  2. SQL就是操作数据的一种语言

增加记录

  1. 语法:

    insert into table_name(字段1,字段2,…) values(值1,值2,…)

  2. 举例

    insert into news(title,content,hits) value(‘xinwen’,’wewewewewe’,’1’);

乱码问题

  1. 问题
    • 向数据表添加记录时中文添加进去是乱码
    • 数据显示时也是乱码
  2. 原因
    • cmd的上边框右键查看属性得知cmd的字符集是GBK(不能改变,因为系统字符集不能更改)
    • cmd的字符集与mysql 的字符集utf8不一致,从而导致乱码。
  3. 解决
    • set names gbk;
    • 含义:向 mysql 端发送请求时,和 mysql 返回请求时,使用的字符集设置为 GBK
    • 每次插入数据和显示数据都得使用、

提示 Ctrl+‘空格’ 在 CMD 中切换中英文输入法

删除记录

  1. 语法
    • delete from table_name where 条件
  2. 说明
    • where 条件,如果省略,将删除所有记录(会有生命危险!)
  3. 举例
    • delete from news where id > 10; //删除 id > 10 的所有记录

修改记录

  1. 语法
    • update table_name set 字段1 = 新值 1,字段2 = 新值 2,… where 条件
  2. 说明
    • 需要更新的字段列出,不需要更新的不用管
    • 字段的顺序可以更改
    • where 条件不能省略,如果省略,将修改所有记录(会有生命危险!)
  3. 举例
    • update news set title = ‘新标题’,content = ‘新内容’ where id = 50; //修改id为50 的标题和内容

查询记录

  1. 语法:
    • select *(or 字段列表) from table_name [ where 条件 ] [ order by 排序 ] [limit 限制输出]
  2. 参数:
    • 字段列表: 查询某些字段的数据,各字段之间用 ‘,’ 逗号隔开
    • ‘ * ‘ : 表示通配符,也就是所有的意思。
      • eg:select * from news; //显示 news 表的所有数据
    • where: 指查询的条件
      • select * from news where id < 100;
    • order by: 字段排序
      • ASC 表示 “升序”(默认) ,DESC 表示降序排列
      • eg: select * from news where id < 10 order by hits DESC; // 点击率 降序排列
      • eg:select * from news where id < 10 order by id; // id 升序排列
    • Limit: 限制输出
      • 语法: limit startrow,pagesize;
      • startrow: 从指定的行数起,开始返回数据
      • pagesize: 返回的记录数
      • eg: limit 0,10; //从第 0 行起,返回 10 条记录
      • eg: limit 10,10; //从第10行起,返回 10 条记录

导入SQL 文件,用于测试

  1. 导入SQL文件时,要先创建数据库,然后再导入数据。
  2. 创建数据库的字符集必须是UTF8,否则会乱码
文章目录
  1. 1. 待吾功成天下日,回城铭古倾覆入史
  2. 2. SQL 基础
    1. 2.1. SQL简介
    2. 2.2. 增加记录
    3. 2.3. 乱码问题
    4. 2.4. 提示 Ctrl+‘空格’ 在 CMD 中切换中英文输入法
    5. 2.5. 删除记录
    6. 2.6. 修改记录
    7. 2.7. 查询记录
    8. 2.8. 导入SQL 文件,用于测试
|
{{ live2d() }}