一篇文章掌握SQL

这篇博客全面讲解了SQL的使用,包括数据库中表和数据的增删改查操作,如DDL、DML、DQL和DCL。详细介绍了SQL的语法,如创建、查询、更新和删除数据库对象,以及数据类型的选择。此外,还讨论了数据库设计的基本概念,如表关系和外键约束,以及多表查询和事务处理,是学习SQL的宝贵资料。
摘要由CSDN通过智能技术生成

SQL

一、数据库中表和数据的增删改查操作

  • SQL 简介

    关系型语言,此处不在多说

  • SQL通用语法

    • SQL语句可以单行或多行书写,以分号结尾

    • MYSQL数据库的SQL语句不区分大小写,关键字建议使用大写

    • 注释

      • 单行注释:

        -- 注释内容 或 #注释内容(MYSQL特有)

        注意上面的--后面有空格

      • 多行注释:

        /注释/

  • SQL分类

    • DDL()数据定义语言,用来定义数据库对象:数据库,表,列等

    • DML()数据操作语言,有来对数据库中表的数据进行增删改

    • DQL()数据查询语言,用来查询数据库中表的记录

    • DCL()数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户

       

下面截图介绍具体的操作命令或图示

1、DDL

show databases;

create database db1;

create database if not exists db1;

drop database db2;

drop database if exists db2;

use db1; // select database() 命令查询当前使用的数据库

2、DDL

  • 2.1、创建(Create)

  • #CREATE TABLE 表名 (字段名1 数据类型1,字段名2 数据类型2,...)
    use db1;
    create table mychat(username varchar(10), id int, password varchar(32));
    show tables;
    desc mychat;
     

    此处理就要再详细说一下数据类型

    •  

    • 注意,这个时间类型中 TIMESTAMP 最大到2038年,不建议使用

      示例:

      1、double可以确定精度 => score double(总长度,小数点后保留的位数) 0~100 2 => score double(5,2)

      2、存储名字 “张三”

      name char(10) # 定长,超过10个字符报错且占用10个字符;存储性能高;但浪费空间。

      name varchar(10) # 变长, 存储两个字符,超过10个字符报错;存储性能低;节约空间。

      还比如性别直接可以用char(1)就可以了

      3、来一套实例吧:创建一个学生表,包含编号、姓名、性别、生日、入学成绩、邮件地址、家庭联系电话、学生状态。

      create table student(
          id int,
          name varchar(10),
          gender char(1),
          birthday date,
          score double(5,2),
          email varchar(64),
          tel varchar(15),
          status tinyint
      )

  • 2.2、查询(Retrieve)

    use mysql; #进入数据库
    show tables;#查看所有表
    desc func;#查看func表的结构

  • 2.3、修改(Update)

    • 改这个表student为例

      mysql> desc student;
      +----------+-------------+------+-----+---------+-------+
      | Field    | Type        | Null | Key | Default | Extra |
      +----------+-------------+------+-----+---------+-------+
      | id       | int(11)     | YES  |     | NULL    |       |
      | name     | varchar(10) | YES  |     | NULL    |       |
      | gender   | char(1)     | YES  |     | NULL    |       |
      | birthday | date        | YES  |     | NULL    |       |
      | score    | double(5,2) | YES  |     | NULL    |       |
      | email    | varchar(64) | YES  |     | NULL    |       |
      | tel      | varchar(15) | YES  |     | NULL    |       |
      | status   | tinyint(4)  | YES  |     | NULL    |       |
      +----------+-------------+------+-----+---------+-------+
      8 rows in set (0.00 sec)

    • 1、修改表名 => alter table 表名 rename to 新的表名;

      alter table student rename to stu;

    • 2、添加一列 => alter table 表名 add 列名 数据类型;

      alter table stu add address varchar(15);

    • 3、修改数据类型 => alter table 表名 modify 列名 新数据类型;

      alter table stu modify address varchar(50);

    • 4、修改列名和数据类型 => alter table 表名 change 列名 新数据类型;

      alter table stu change address addr varchar(30);

    • 5、删除列 => alter table 表名 drop 列名;

    alter table stu drop addr;

  • 2.4、删除(Delete)

drop table 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值