学习目标:

  • SQL的基本分类
  • MYSQL数据库中的数据类型
  • DDL表的相关操作
  • DML表中数据的增删改

学习内容:

        数据库系统的结构

1. 一个DBMS(数据库系统)中 可以有多个数据库(database)
                2. 一个数据库(database)中 可以有多个表(table)
                3. 一个表中 可以有多条数据 多个字段(列)

比如说,把一个数据库比化成一个excel文件,一个excel文件中可以有多个表,一个单独的表中我们可以列多行数据。

1,SQL基本分类

1)DDL 数据定义语言

对数据库的创建和删除 以及对数据库表的创建删除和修改 关键字:create、drop

2)DML 数据操作语言:

对数据库表中数据的增 删 改 关键字:insert、delete、update

        3)DQL 数据查询语言:

对数据库表中数据 查询 关键字:select

        4)DCL 数据控制语言:

指定用户 分配权限 关键字:grant、revoke


2,MYSQL数据库中的数据类型

1)整形

tinyint / smallint / int / bigint         byte(-128   127)        short    int   long

2)浮点型

float(n,m)        double(n,m)        decimal(n,m)  准确值 n和m可以省略

n:整数位+小数位的个数

m:小数位的个数

例如:decimal(6,2) 总共能存6位数字,末尾2位是小数,字段最大值  9999.99

3)字符型,

实际开发中,varchar相对比较多

varchar(n)          变长字符串   n必选  保存字符最大个数        性能低

例如: 定义姓名数据类型varchar(10), 可以存储的姓名对应的字符个数0-10, 10表示最多可以存储的字符个数, 实际客户姓名叫 AB, 在数据库中存储占有的空间就是2, 不是10

char(n)                定长字符串    n可选 默认为1 保存字符最大个数     性能高

例如: 定义姓名数据类型char(10), 可以存储的姓名对应的字符个数0-10, 10表示最多可以存储的字符个数, 实际客户姓名叫 AB, 在数据库中存储占有的空间还是10, 不是10

4)日期

data                日期        年月日

time                时分秒

datetime        日期        年月日时分秒,默认值为null,最大值到9999年23:59:59

timestamp     时间戳   1970开始 2037年12月31日  23:59:59, 默认值为当前系统时间

mysql中没有boolean类型、通常我们会使用int类型来表示boolean类型 0:false 1:true


3,DDL表的相关操作

                Data Definition Language数据定义语言

关键字:create 创建        drop 删除        alter 修改        show 展示        databese 数据库

一,库的基本操作

1,查看所有数据库

show database

2,创建数据库

#语法一:create database 数据库名
create database day01;#语法二:create database if not exists 数据库名(如果不存在此数据库再创建)

3,删除数据库

#语法:drop database 数据库名;
drop database day01;

4,选中数据库

#语法:use 数据库名
use day01;

选中数据库,数据库系统中一般会有多个数据,我们对数据库操作时,不需要写数据库名,但我们要保证我们操作的数据库是哪一个数据库,此时我们用选中数据库来决定我们的操作是对选中的数据库有效,当我们选中数据库时,数据库名称会变粗,例如:

5,查看创建数据库语句

#语句:show create database 数据库名
show create database day01;#除此之外我们根据需求,修改show后面的语句来查看其他语句的创建或修改语句

二,表的操作

关键字:show 展示      create 创建        table 表        drop 删除

1,查看所有表

show table;

2,创建表

#语法 create table 表名(字段1    字段类型,字段2    字段类型,...字段n    字段类型
);create table student(    #创建学生表sid int,            #id号sname varchar(20),    #姓名ssex char(2)         #性别
);#我们可以在table 后面加上if not exists 表示如果没有此表,再创建

3,删除表

#语法 drop table 表名
drop table student;

4,查看表结构

#语法 desc 表名
desc student;

5,查看创建表语句

#语句 show create table 表名
show create table student

三,修改表

关键字:alter 修改                  add 添加列                               drop 删除

rename 表名修改       change 列名及类型修改         modlify 修改列的类型

1,修改表名

#语法 alter table 表名 rename 新表名
alter table student rename stu;

2,修改列名

#语法 alter table 表名 change 原列名 新列名 列的类型
alter table student change sname name varchar(20);

3,修改列的类型

#语法 alter table 表名 modify 原列名 新类型;
alter table student modify sname char(10);

4,添加列

#语法:alter table 表名 add 新列名 类型
alter table student add sclass varchar(20);

5,删除列

#语法:alter table 表名 drop 列名
alter table student drop sclass;

modify与change区别
   1、modify关键字只能修改列的类型、change关键字既可以修改列的类型也可以修改列的名称


4,DML表中数据的增删改

Data Manipulation Language数据操作语言

一,插入字段(新增数据)

1,不指定字段插入

#语法    插入单个表(表中字段对应值)
insert into 表名 values (值1,值2,值3,值4)  默认情况下需要给所有的列赋值insert into student values (1,"kenken","男");

注意事项:
    1、有多少列对应就应该有多少值
    2、如果插入的是数值直接给值、除数值以外用双引号|单引号都可以

2,指定字段插入

#语法:insert into 表名 (列名1,列名2,列名3) values (值1,值2,值3)insert into student (sid,sname,ssex) values (1,"kenken","男");#在指定字段添加数据时,可以添加部分数据
#例如:insert into 表名 (列名2,列名3) values (值2,值3)insert into student (sname,ssex) values ("kenken","男");

注意事项:
    1、声明的列和值要一一对应
    2、如果插入的是数值直接给值、除数值以外用双引号|单引号都可以

3,字段插入部分值第二种方式

#语法:insert into 表名 set 列名=值
insert into student set sname="kenken";    #只添加一个值
insert into student set id=2,sname="maimai";    #只添加两个值

注意事项:
   1、列和值要一一对应
    2、如果插入的是数值直接给值、除数值以外用双引号|单引号都可以

4,批量插入

#语法:insert into 表名 (列1,列2,列3) values (值1,值2,值3),(值1,值2,值3);
insert into student (sid,sname,ssex)values (1,"kenken","男"),(2,"maimai","nv");

注意:
    1. 整型、浮点型 不需要加引号 ,字符型和日期类型 需要加引号
    2. 插入的值必须满足类型和约束
    3. 值和列名一一对应
    4. 如果约束:(对当前列进行限制保证当前列数据的有效性和准确性)是 null 和 default  可以不插入

二,删除字段

1,删除单个字段

#语法 delete from 表名 [where 条件]
delete from student where sid=1;    #删除sid为1的字段

2,删除多个字段

#语法:delete from 表名 [where 条件]
delete from student where sid in(1,2);  #删除sid为1,2的字段#可以根据需求在in后面的括号里添加要删除的字段
#或者
delete from student where sid=1,sname="maimai";

3,删除所有

#语法
delete from 表名
truncate table 表名

注意事项:

delete删除和truncate删除的区别

方式上:delete删除是逐行删除、truncate是删除整张表、然后再创建一张一模一样的表结构
                效率上:truncate删除效率要高于delete
                回滚上:delete删除数据可以回滚(可以找回来)truncate一旦删除数据将无法找回
                自增序列上:delete删除会保留原有的自增序列、而truncate不会保留

三,修改

1,修改单个字段数据

#语法:update 表名 set 列1=值1,列2=值2,列3=值3 [where 条件]
update student set sname="lala" where sid = 1;#where 后面的条件是要告诉计算机要修改那一条数据,set后面的是列名=新数据

2,修改多个字段数据

#1,不加条件
#语法:update 表名 set 列=值;
update student set ssex="男";     #所有字段的ssex列改为男#2,部分字段修改成同一种值
#语法:update 表名 set 列=值 where 条件
update student set ssex="男" where sname in("kenken","maimai");
#sname为kenken和maimai的字段ssex值改为男

今天就写这么多吧,剩下的看明天能不能写完。。。。

mysql数据库基本知识点整理笔记相关推荐

  1. MySQL数据库字符集和整理

    MySQL数据库字符集和整理(2009-11-20 22:23:37) mysql数据库 it    其实这个表在MySQL数据库中通过phpMyAdmin就能看到,icech只是把表格整理了一下方便 ...

  2. MYSQL数据库常用知识整理

    为什么80%的码农都做不了架构师?>>>    MYSQL数据库常用知识整理 什么是MYSQL MYSQL的特性 MYSQL存储引擎的分类以及数据文件的介绍 MYSQL赋权 MYSQ ...

  3. MySQL数据库基础到进阶笔记整理包含事务、SQL优化、锁等内容

    写在前面 本文是在学习MySQL数据库时整理的笔记,可供初学者学习 是在https://dhc.pythonanywhere.com/entry/share/?key=12e4a7324f68371d ...

  4. mysql数据库基础知识点总结--看完即入门

    疫情在家,在家简单复习了SQL数据库的基础知识.其实回过头来,当时本科时候学习的时候,还没有多大的感触.现在学习了这么多的语言和结构化知识,再回头来看这门语言,很多东西息息相关.就像是瞬间打通了六脉, ...

  5. 一图看懂 pytz 模块:现代以及历史版本的世界时区定义数据库,资料整理+笔记(大全)

    本文由 大侠(AhcaoZhu)原创,转载请声明. 链接: https://blog.csdn.net/Ahcao2008 一图看懂 pytz 模块:现代以及历史版本的世界时区定义,将时区数据库引入 ...

  6. mysql数据库的优化整理之查询优化

    作为程序员,天天都要和数据库打交道,而且以mysql居多,而数据库的优化,也是一个老生常谈的话题.今天我就整理一下mysql数据库的优化方式. 开始: 首先是查询优化: 一条查询语句在数据库中执行,如 ...

  7. 您是否也需要用到Visual Studio 2017连接MySQL数据库,请看正文笔记

    开篇 为了开发.net应用程序,选择了Visual Studio 2017开发软件,公司用的数据库是MySQL,所有写了这篇文章记录笔记,方便以后查找. 正文 需要工具(我本地用以下版本): 1.My ...

  8. Mysql数据库常用操作整理

    0.说明 MySQL数据库是一个十分轻便的数据库管理系统,相比大型的数据库管理系统如Oracle,MySQL更拥有轻便.灵活.开发速度快的特色,更适用于中小型数据的存储与架构,被数以万计的网站采用.从 ...

  9. MySQL数据库学习教程全套笔记完整版

    [MySQL学习1]SQL语言简介及数据库简介https://www.52txr.cn/2021/mysql1.html 本节大致介绍数据库. [MySQL学习2]MySQL简介及安装和卸载https ...

  10. 黑马程序员MySQL数据库之基础篇笔记(SQL语法)(每日更新)

    文章目录 0 SQL 1 SQL通用语法 2 SQL分类 2.1 DDL语句 2.1.1 DDL数据库操作 2.1.2 DDL表操作 2.1.3 DDL表操作数据类型 0 SQL SQL通用语法 SQ ...

最新文章

  1. Postman请求linux服务器报错:503Forwarding failure,由于服务器端口未开放;服务器端口开放与关闭
  2. c改java_Android NDK开发:C修改Java的属性
  3. Windows Phone 7 学习网址总结
  4. uml和模式应用 pdf_总结分享:PHP中常见的五种设计模式
  5. pythoncgi模块文档_python使用cgi模块处理表单
  6. Linux里10个最危险的命令
  7. Spring Bean范围
  8. java获得指定的开始时间与结束时间之间的所有日期
  9. webkit事件处理
  10. 容器编排技术 -- Kubernetes StatefulSet基本使用
  11. 单片机成长之路(51基础篇) - 013 MCS-51单片机控制详解–T2MOD
  12. sleep() wait() yield() join()
  13. 《实用软件工程》复习知识点
  14. Aegisub制作字幕从入门到精通:制作srt字幕,制作ass字幕,压制字幕和视频
  15. 小米pro15拆机_15.6寸小米笔记本Pro拆后盖加装扩展硬盘图文记录
  16. s3c6410的GPIO操作
  17. 【MySQL】MySQL之导入和导出
  18. vivox27计算机功能,vivo x27 怎么连接电脑?
  19. 逻辑卷管理员(Logical Volume Manager)介绍
  20. docker-compose部署xxl-job-admin 分布式任务调度平台

热门文章

  1. 年度最骚语言之文言文编程!!!
  2. List转Json数组
  3. 神奇宝贝HTML游戏代码,方舟生存进化神奇宝贝代码资料大全
  4. 电信机顶盒怎么连接鸿蒙系统电视,电信机顶盒的密码是多少,怎么改密码
  5. 微信小程序demo、开发工具下载地址
  6. 离散数学大作业代码及感想
  7. 股票成本价买入价计算器 V1.3
  8. 鸟哥的 linux 的私房菜 基础学习篇,鸟哥的 Linux 私房菜 -- 基础学习篇
  9. 【Python爬虫实战】使用Selenium爬某音乐歌曲及评论信息啦~
  10. 《浪潮之巅》11~14章