MySQL学习笔记之一

1.SQL(Structure Query Language):结构化查询语言

2.SQL分类:DCL(数据控制语言),DDL(数据定义语言),DML(数据操作语言)

2.1  DCL(数据控制语言): 常见的关键字revoke、grant。

       DDL(数据定义语言):常见的关键字create、alter、drop。

       DML(数据操作语言):常见的关键字select、insert、update、delete。

2.2 DDL(数据定义语言)与DML(数据操作语言)的区别:

       DDL是对数据库对象的操作,可以理解为建表然后对表的字段等进行修改,一般由DBA完成;

       DML是对数据库对象中的数据进行操作,可以理解为更新表中的值,像表插入某值等。

2.3 DDL(数据定义语言)

      2.3.1  创建数据库

       create database 数据库名

       For example:create database blog;

     2.3.2  删除数据库

      drop database 数据库名;

     2.3.3 使用数据库

       如果数据库存在多个,可以通过 show databases; 语句来查看存在的数据库;然后通过use 数据库名 ; 来选定所需使用的数据库。

    2.3.4 创建表

       create table 表名(字段名,字段的类型,其它条件);  其它条件指:null / not null ;primary key ;character set  字符编码集等,关于字段类型的说明,接下来会详细讲解。

       For  example:  create table Student(Sname varchar(200));

    2.3.5 删除表

     drop  table 表名;

   注意drop与delete的区别:drop把整张表都删除,删除时须谨慎;delete删除表中的值,表结构还存在;

    For  example: drop table Student;   //执行后,数据库中不存在此表;

                           delete from Student ;  //执行后,此表中原有的数据被删除,但此表在数据库中仍存在;也可以使用where进行指定删除;

   2.3.6  修改已创建的表

         2.3.6.1  在原表的基础上加入某字段:修改表通过alter ,增加字段通过add

                      For  example:alter table Student add Ssex varchar(200) character  set utf8 not null ;    //在Student表增加一个不为空且编码集为utf8的Ssex字段(列)

         2.3.6.2   修改列名:通过alter和modify/change

                     For  example:alter table Student modify Sname Susername ;      //把Studen表中的Sname字段修改为Susername;

                                           alter table Student change Sname Susername varchar(255);    //把Student表中的Sname字段的类型varchar(200) 修改varchar(255)

        2.3.6.3  删除字段:通过alter 和drop

                  For  example:alter table Student drop column Sname;            //删除Student表中的Sname列

     

        2.3.6.4  add/modify/change

                 注意:modify和change的区别:modify一般用来更改列名;change用来更改列名或者类型等。

                 add/modify/change可以与first/after/before联用

                 For example:alter table Student  add Ssex varchar(200) character  set utf8 not null  after id;     //增加的列Ssex放在id字段之后,即按字段从左往后的顺序排在第二

                                      alter table Student modify Sname Susername  first; //更改后的字段名,即按字段从左往后的顺序排在第一。

2.4 DML(数据操作语言)

      2.4.1  insert:插入数据;insert into 表名(字段名,...) values('值', ....  ..);

                 For example :insert into Student values('王老师');    //注意:当字段名未给出时,所给的值需和字段名一一对应;

                                       insert into Student (Sname)  valeus('老师');  //假设此表有多个字段,像Sname字段插入”老师“一值,其余的默认为NULL;

       2.4.2  update 表名 set  字段=‘更新的值’  where  条件;

              For example:update Student set Sname= '小王老师'  where Sname='王老师';     //将Sname为”王老师“的值,替换成”小王老师“

       2.4.3 delete from 表名

            For example:delete from Student;      //删除Student表中的所有数据   

                                 delete from Student where Sname=' 小王老师';      //删除Sname为“小王老师”的记录;

       2.4.4  select  :select 字段名 from 表名;

                   For example:select * from Student;     //选择Studnent中的所有字段名;如果选择所有的字段名可以把字段名一一列出或者用*代替;

         补充:

      2.4.4.1  使用distinct关键字,去除重复的记录

                  For example:select distinct Sname from Student;    //去除Student表中Sname字段重复的值,并显示;

      2.4.4.2  聚合函数

                    SUM—求和         AVG —求平均值         MAX —求最大值           MIN—求最小值               COUNT—求个数

                  For example: select count(Sname) from Student;          //求老师的总人数

                                         select avg(Sage) from Student;                 //求年龄的平均值

                                         select max(Sage) from Student;               //求年龄的最大值

                                         select min(Sage) from Student;                //求年龄的最小值

                                         select sum(Sage) from Student;               //求年龄的总和

    2.4.4.3 条件判断

               〉 ,  〉=    ,〈=  ,   !=    ,   between   and........与where 联合使用

    2.4.4.4 排序、分组

               排序:order by  dec/asc        //dec:降序;asc:默认值,升序

               分组: group by.....having..........

注:where和having的区别

      where:先选取结果集,having:对选取的结果集再一次过滤

     2.4.4.5 表合并

                  union和union all;注意:两者的区别:union all 将两表的数据合在一起;union:将两表的数据出去重复的后,在合并。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值