数据库及SQL相关

数据库和SQL

数据库:一个存放数据的仓库,按照一定的数据结构来存储的。用户可以对文件中的数据运行新增、截取、更新、删除等操作。
SQL:结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统同时也是数据库脚本文件的扩展名

SQL的分类

DDL: 数据库定义语言, 与数据库/表结构: create, drop, alter

DML: 数据操纵语言: 操作表数据 insert update delete

DCL: 数据控制语言: 设置用户的访问权限 安全

DQL: 数据查询语言: select from where

数据库相关操作

  • 创建数据库: create database 数据库的名字

    create database leecore;
    
  • 删除数据库 :drop database 数据库名字

    drop database leecore;
    
  • 修改数据库: alter database character set 字符集

    alter database leecore character set utf8 ;
    
  • 查看数据库:

   查看所有数据库

   show databases; 
  • 查看数据库定义: show create database 数据库名字

    show create database leecore ;
    
  • 查看当前正在使用的数据库

    select database(); 
    
  • 选中数据库: use 数据库的名字

      use leecore 
    

数据表的操作

1. 创建表 :

create table 表名(
列名 列的类型(长度) 约束,
列名1 列的类型(长度) 约束,
列名2 列的类型(长度) 约束
);

  create table user(id int primary key auto_increment,
  name varchar(20) not null,
  sex int,
  info varchar(20)
 );
  • 列的约束

    主键约束: primary key

    唯一约束: unique

    非空约束: not null

2. 删除表 : drop table 表名

  drop table user;

3. 修改表:

    添加列 :alter table 表名 add 列名 列的类型 列的约束

  alter table user add age int ;

    修改列 : alter table 表名 modify 列名 列的类型 列的约束

  alter table user modify info varchar(30);

    修改列名 : alter table 表名 change 旧列名 新列名 列的类型 列的约束

  alter table user change info userinfo varchar(20) not null;

    删除列 : alter table 表名 drop 列名

  alter talbe user drop userinfo;

    修改表的字符集 : alter table 表名 character set 字符集

  alter table user character set utf8;

    修改表名 : rename table 旧表名 to 新的表名

   rename table user to puser

4. 查看表 :

    查看当前数据库中所有的表名:

  show tables;

    查看表的定义结构/创建语句(建表语句):show create table 表名:

    show create table user;

    查看表的结构:desc 表名

   desc user;

数据的增删改查

1. 插入数据:

    insert into 表名(列名1,列名2)values(值1,值2);

    insert into 表名 values(值1,值2);

    批量插入:insert into 表名values(值1,值2),(值1,值2),(值1,值2);
以下表为例


数据库及SQL相关_第1张图片
image.png

image.png
  insert into user values(null,'饼干',24,'木子饼干');

2. 删除数据

    delete from 表名 [where 条件]

  delete from user where name='饼干';

    truncate table 表名: 先删除表,再重建表

3. 更新数据

    update 表名 set 列名=值, 列名=值 [where 条件]

  update user set age=3 where name='饼干';

4. 查询数据

  • 4.1. 通用格式: select [distinct] [*] [列名1,列名2] from 表名 where 条件 group by ..having 条件过滤 order by排序

     select * from user where name='饼干';
    
  • 4.2. 关系运算符:
        <> 不等于 ;
        != 不等于;

    select * from user where age > 0;
    
  • 4.3. 逻辑运算符:
        and or not ;in 在范围中
    select * from user where age in(3);

  • 4.4. 模糊查询 like:
        _ 表示的单个字符
        % 表示的是多个字符
    查询所有姓饼两个字的学生成绩。

     select * from user where name like '饼%';
    

    查询所有姓饼的学生成绩。

    select * from user where name like '饼%';

别名查询 as

  • 4.5. 聚合函数:

    sum : 求和

  select sum (age) from user;

    avg() : 平均值

  select avg(age) from user;

    count() : 统计数量

   select count(id) from user where age>3;

    max() : 最大值

  select max(age) from user;

    min() : 最小值

  select min(age) from user;
  • 4.6. 排序 order by:

    asc : ascend 升序

       select * from user order by age ascend 

    desc : descend 降序

   select * from user order by age desc
  • 4.7. 分组 group by

你可能感兴趣的:(数据库及SQL相关)