专栏首页技术小屋-未分类MySQL数据库——数据库CRUD之基本DDL操作数据库及DML操作表

MySQL数据库——数据库CRUD之基本DDL操作数据库及DML操作表

1、SQL的概念

SQL,Structured Query Language,结构化查询语言,其实就是定义了操作所有关系型数据库的规则。但是每种数据库厂商不一样,每一种数据库操作的方式存在不一样的地方,称为“方言”。

SQL的通用语法:

  • 1) 每条语句可以单行或多行书写,以分号结尾;
  • 2) 可使用空格和缩进来增强语句的可读性;
  • 3) MySQL的数据库的SQL语句不区分大小写,关键字建议使用大写;
  • 4) 3种注释:单行注释 -- 注释内容  或 # 注释内容,多行注释:/* 注释 */

2、数据库的CRUD操作

首先了解下SQL的分类,按照功能不同分为4种:

  • 1) Data Definition Language (DDL 数据定义语言) ,用来定义数据库对象:数据库、表、列等,关键字:create、drop、alter等;
  • 2) Data Manipulation Language(DML 数据操作语言),用来对数据库中表的数据进行增删改,关键字:insert、delete、update等;
  • 3) Data Query Language(DQL 数据查询语言),用来查询数据库中表的记录(数据),关键字:select、where等;
  • 4) Data Control Language(DCL 数据控制语言),了解,用来定义数据库的访问权限和安全级别,及创建用户,关键字:FRANT、REVOKE等。

2.1 DDL 操作数据库

操作数据库一个名词CRUD,表示:

  • C(Create):创建;
  • R(Retrieve):查询;
  • U(Update):修改;
  • D(Delete):删除;
  • 使用数据库;

2.1.1 创建数据库

1)创建数据库:create database 数据库名称;

2)创建数据库,并判断是否存在:create database if not exists 数据库名称;

3)创建数据库,并指定字符集:create database 数据库名称 character set 字符集名称;

【举例】:创建db4数据库,判断是否存在,并制定字符集为gbk;

2.1.2 查询数据库

1)查询所有数据库的名称:show databases;

2)查询某个数据库的创建语句;查询某个数据库的字符集:show create database mysql;

2.1.3 修改数据库

1)修改数据库的字符集:alter database 数据库名称 character set 字符集名称;

2.1.4 删除数据库

1)删除数据库:drop database 数据库名称;                           drop database if exits 数据库名称;

2.1.5 使用数据库

1)查询当前正在使用的数据库名称:select database();

2)使用数据库:use 数据库名称;

2.2 DML 操作表

2.2.1 创建表

1)创建表:create table 表名称(列名1 数据类型1, 列名2 数据类型2,  ... 列名n 数据类型n);

其中,SQL中的常见数据类型:

  • int:整数类型,如 age int;
  • double:小数类型,如 score double(5,2),括号中5表示一共有几位,2表示小数点后几位;
  • date:日期,只包含年月日,yyyy-MM-dd;
  • datetime:日期,包含年月日时分秒,yyyy-MM-dd HH:mm:ss;
  • timestamp:时间戳类型,格式同datetime,如果指定为timestap类型,若不给该字段赋值或赋值为null,则默认使用当前系统时间自动赋值;
  • varchar:字符串类型,如 name varchar(20),括号中表示姓名最大20个字符,zhangsan表示8个,张三表示2个;

【举例】:创建一张学生表

create table student(            id int,            name varchar(32),            age int,            score double(4,1),            birthday date,            insert_time timestamp );

2)复制表:create table 新表名称 like 原表名称;

2.2.2 查询表

1)查询数据库中所有的表名称:show tables;

2)查询表结构:desc 表名称;

2.2.3 修改表

1)修改表的名称:alter table 表名称 rename to 新的表名称

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

3)添加一列:alter table 表名称 add 列名 数据类型

4)修改列的名称和类型:alter table 表名称 change 原列名称 新列名称 新列类型;       只修改列类型:alter table 表名称 modify 列名称 新列类型; 

5)删除列:alter table 表名称 drop 列名

2.2.4 删除表

1)删除表: drop table 表名称;                     drop table if exists 表名称;

3 客户端图形化工具SQLYog

命令行中的SQL语句,比如desc 表名,展示效果不是很好,不像表格那样结构直观,此处介绍一款小工具,方便用户使用,但是建议还是要在工具中自己输入SQL语句,长期依赖这种视图工具做如点击查表等操作,SQL语句会生疏了。下面的讲解都使用SQLYog,不用DOS了。

本文先到这里,篇幅太长一般都懒得看,下一篇博文中会整理下MySQL数据库表中记录的操作以及数据库的查询操作,敬请期待!

本文为博主原创文章,转载请注明出处!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MySQL数据库——数据库的基本概念及MySQL的安装步骤与基本使用

    数据库,DataBase,简称为DB,数据库就是用于存储和管理数据的仓库,其特点是:

    Winter_world
  • Java——数据库编程JDBC之数据库连接池技术(C3P0与Druid,提供了Druid的工具类)

    上篇博文中讲解的JDBC,程序中每次都要获取数据库连接,使用完毕后直接释放资源,实际上这种在实际应用中是不可取的,因为效率很低,所以,本文来总结下数据库连接池技...

    Winter_world
  • Java——集合工具类(Collections工具类、Stack子类)

    Collections是专为集合服务的工具类,可以进行List、Set、Map等集合的操作,比较有用 的方法如下:

    Winter_world
  • IntelliJ IDEA的数据库管理工具实在太方便了

    胖哥是一个有软件洁癖的人,能用现有的软件解决问题的绝不安装新的软件。Java后端开发主要跟数据库打交道,所以数据库图形化界面(GUI)是少不了的。通常图形化操作...

    码农小胖哥
  • 在SpringBoot中使用flyway管理数据库版本状态

    Flyway是一个开源的数据库版本管理工具,并且极力主张“约定大于配置”,简单、专注、强大。可以使用SQL完成数据同步,或者基于特定数据库的语法(例如PL / ...

    字母哥博客
  • 【迪B课堂】数据库小技巧:MySQL备份周期如何选择?

    迪B哥教你利用碎片化时间学习数据库知识! 总结: 全量和增量小的实例适宜一天一备 数据量大的且恢复失效不敏感的实例适宜一周一备 恢复敏感的实例适宜定期备份+延...

    腾讯云数据库 TencentDB
  • 运维案例 | Exchange2010数据库损坏的紧急修复思路

    Exchange后端数据库故障,一般都会是比较严重的紧急故障,因为这会直接影响到大面积用户的正常使用,而且涉及到用户数据。一旦遇到这种级别的故障,管理员往往都需...

    嘉为科技
  • m6A数据库总体评价介绍

    通过对昨天检索到的的20个得到的数据库进行整理总结,我们发现一共有19个是和m6A相关(没有关系是因为在摘要当中也提到了m6A,所以我们也就提取到了),在19个...

    医学数据库百科
  • 数据库分类

    DBMS 的英文全称是 DataBase Management System 数据库管理系统。

    王小明_HIT
  • 腾讯云数据库:新基建大潮下的弄潮儿

    主讲人 | 腾讯云数据库副总经理-王义成 张康 编辑整理 量子位编辑 | 公众号 QbitAI 6月中旬起,量子位发起了以数据库为主题的系列公开课,邀请来自腾...

    腾讯云数据库 TencentDB

扫码关注云+社区

领取腾讯云代金券