数据库及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);
以下表为例


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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一天 7月13日OCP笔记: Oracle Ocp11g准备资料: OracleFundmentals 书 管理...
    fjxCode阅读 2,843评论 0 4
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,475评论 0 9
  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 7,857评论 5 116
  • 今天我终于把《武动乾坤》看完了,就光看这一套书就用了我三个月的时间。 《武动乾坤》主要讲述了从一个...
    你面前有个吃货阅读 3,525评论 0 1
  • 关键词: 中文分词;分词;自然语言处理;中文语料 最近要做中文自然语言处理相关任务,牵涉到使用中文分词工具和相关算...
    generalz阅读 7,469评论 0 15