SQL语句基础

SQL:结构化查询语言

SQL语言分类

  • DDL:数据定义语言。
  • DML:数据操作语言。
  • DQL:数据查询语言。

数据库操作

  • 创建数据库 [变量] (可省略)

create database [数据库名称] (character set [gbk/utf-8]);
字符集默认值是utf-8

  • 删除数据库

drop database [数据库名称];

  • 查看数据库

查看所有数据库:show databases;
查看数据库定义信息: show create database [数据库名称];

  • 其他数据库命令

切换使用的数据库: use [数据库名称];
查看正在使用的数据库:select database();

表的操作

  • 单表约束
  1. 主键约束:primary key ,要求被修饰的字段:唯一 非空。
  2. 唯一约束:unique,要求被修饰的字段唯一。
  3. 非空约束:not null 要求被修饰的字段不能为空。
  • 创建表

create table [表名](
id int(长度) [约束],
。。。。
);

  • 查看表

查看数据库中的所有表:show tables;
查看表的结构:desc [表名];

  • 删除表

drop table [表名];

  • 修改表

给表添加一列:alter table [表名] add [列名](长度)[约束];
修改表中列的类型、长度和约束:alter table [表名] modify 列名 类型(长度) 约束;
修改表的列名:alter table 表名 change 旧列名 新列名 类型(长度)约束;
删除表的列:alter table 表名 drop 列名;
修改表名: rename table 表名 to 新表名;
修改表的字符集:alter table 表名 character set 字符集;

插入数据语句 (增)

对应插入数据:insert into 表名(列名1,列名2,列名3) values(值1,值2,值3);
插入所有数据 : insert into 表名 values(值1,值2,值3);

删除数据语句(删)

delete from 表名[where条件]

更新数据语句(改)

update 表名 set 字段名=值,字段名=值。。。where条件;

查询数据语句(查)

先建一个表

image.png
  • 简单查询

查询所有人信息:select * from person;

image.png

查询姓名和年龄:select pname,age from person;

image.png
  • 别名查询 as关键字 可省略

表别名 查询所有数据:select * from person as p;
列别名 查询姓名: select pname as pn from person;

  • 去重复查询 关键字:distinct

查询所有时间去重复后的数据:select distinct pdate from person;

image.png
  • 带运算查询

查询年龄+10的人数据: select pname,age+10 from person;

image.png

条件查询

image.png

以此类推 :
查询年龄大于24的人:select * from person where age>24;

  • 更多用法
image.png

eg:

  • like的用法
image.png
  • in的用法
image.png
  • between and
image.png
  • 排序 关键词:order by asc升序 desc降序

按年龄由高到低排序:select * from person order by age desc;

image.png
  • 聚合函数

sum() 求和.
avg()求平均数
max()最大值
min()最小值
count()个数
求年龄之和:select sum(age) from person;
求人数的个数: select count(*) from person;

image.png
  • 分组

先添加班级信息。
添加班级列:alter table person add class int;
将所有人分到1班:update person set class=1;
将pid为135的分到2班:UPDATE person SET class = 2 WHERE pid IN (1,3,5);
查看每个班级的平均年龄:SELECT class,avg(age) FROM person GROUP BY class;

image.png

推荐阅读更多精彩内容