mysql数据库基本知识点整理笔记

学习目标:

  • 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值改为男

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

 

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值