MySQL(基础篇)

  SQL分类:

    数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列 等。关键 字:create,alter,drop等

    数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更 新。关键 字:insert,delete,update等

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

    数据查询语言:简称DQL(Data Query Language),用来查询数据库中表的记录。关键字: select, from,where等

  SQL通用语法 SQL语句可以单行或多行书写,以分号结尾,可使用空格和缩进来增强语句的可读性,MySQL数据库的SQL语句不区分大小写,关键字建议使用大写 例如:SELECT * FROM user。同样可以使用/**/的方式完成注释 MySQL中的我们常使用的数据类型如下:

类型名称 说明
int(integer) 整数类型
double 小数类型
decimal(m,d) 指定整数位与小数位长度的类型
date 日期类型,yyyy-MM-dd,只包含年月日
datetime 日期类型,YYYY-MM-DD HH:MM:SS,包含年月日时分秒
timestamp 日期类型,时间戳
varchar(M) 文本类型,M在0~65535之间

  基本介绍完后,我们就按照上面的SQL语言分类进行学习。

  DDL(Data Definition Language)

    一、数据库操作:

      1.创建数据库------CREATE DATABASE 数据库名称;

      2.使用数据库------USE 数据库名称;

      3.查看数据库定义的信息------SHOW CREATE DATABASE 数据库名称;

      4.查看所有数据库------SHOW DATABASES;

      5.查看正在使用的数据库------SELECT DATABASE();

      6.删除数据库------DROP DATABSES 数据库名称;

    二、表操作:

      1.创建表------CREATE TABLE 表名字(

      字段名0 类型(长度) 约束,

      字段名1 类型(长度) 约束,

      字段名2 类型(长度) 约束 

    );

      约束:PRIMARY KEY 主键,被主键修饰的字段,不能重复,不能NULL

      在定义表结构时,作为主键的字段后面 + PRIMARY KEY AUTO_INCREMENT;

      不能设置每次增长多少,但是可以设置主键的值从几开始

      ALTER TABLE 数据库表名 AUTO_INCREMENT=数据值

      2.操作表

        查看数据库中所有表------SHOW TABLES;

        查看表结构------DESC 表名;

        删除表------DROP TABLE 表名;

        查看表中所有内容------SELECT * FROM 表名;

        查看表的创建信息------SHOW CREATE TABLE 表名;

      3.修改表结构

        添加列(字段)------ALTER TABLE 表名 ADD `列名` 类型(长度) 约束;

        修改列(字段)------ALTER TABLE 表名 MODIFY `列名` 类型(长度) 约束;

        修改列名(字段名)------ALTER TABLE 表名 CHANGE `旧名` `新名` 类型(长度) 约束;

        删除列(字段)------ALTER TABLE 表名 DROP `名字`;

        修改表名------RENAME TABLE `旧表名` TO `新表名`;

        修改表的字符集------ALTER TABLE 表名 CHARACTER SET 字符集;

  DML(Data Manipulation Language)      

    一、插入表记录

      1.向表中插入某些字段 ------INSERT INTO 表名 (字段1,字段2,字段3..) VALUES (值1,值2,值3..);

      2.向表中插入所有字段,字段的顺序为创建表时的顺序------INSERT INTO 表 VALUES (值1,值2,值3..);

      注意: 值与字段必须对应,个数相同,类型相同 值的数据大小必须在字段的长度范围内 除了数值类型外,其它的字段类型的值必须使用引号引起。(建议单引号) 如果要插入空值,可以不写字段,或者插入null。

    二、更新表记录

      1.更新表中所有记录的指定字段------UPDATE 表名 SET 字段名=值,字段名=值,······;

      2.更新表中符合条件的指定字段------UPDATE 表名 SET 字段名=值,字段名=值,······ WHERE 条件;

    三、删除表记录

      1.DELETE FROM 表名 WHERE 条件;

      2.TRUNCATE TABLE 表名;

      3.DELETE: 删除表的所有数据,会记录id的最大值,再次添加数据时会从id最大值下一位开始

                         TRUNCATE: 删除表的所有数据,先摧毁整个表结构,重新创建,不会记录id的最大值,id从新开始

    四、SQL约束

      PRIMARY KEY 约束

        唯一标识数据库表中的每条记录。 主键必须包含唯一的值。

        主键列不能包含 NULL 值。

        每个表都应该有一个主键,并且每个表只能有一个主键。

    五、添加主键约束

      方式一: 在定义表结构时,作为主键的字段后面+primary key------create table 表名(字段 类型 PRIMARY KEY , 字段 类型 条件约束 );

      方式二: 在定义表结构时,已经指定了所有的字段,在最后使用constraint关键字,添加主键约束------create table 表名(字段 类型 条件约束 , 字段 类型 条件约束 , constraint 主键约束名称 primary key(作为主键的字段名) );

      方式三: 在定义完表结构后,通过修改表结构方式------alter table 表名 add constraint 主键约束名称 primary key(作为主键的字段名称);

                            ------alter table 表名 add primary key(作为主键的字段名次);

      删除主键:------alter table 表名 drop primary key;

    六、非空约束

      NOT NULL 约束强制列不接受 NULL 值。

      NOT NULL 约束强制字段始终包含值。

      这意味着,如果不向字段添加值,就无法插入新记录或者 更新记录。

      方式一: 定义表结构时,字段名后面+not null

        create table 表名(字段 类型 not null 其他约束条件 , 字段 类型 NOT NULL 其他约束条件 ));

 

      方式二: 通过修改表结构的方式 -- 在创建时添加 create table 表名(字段 类型 PRIMARY KEY , 字段 类型 条件约束 );

        alter table 表名 modify `字段` 类型(长度) 约束;

    七、唯一约束

      方式一: 在定义表结构时,作为主键的字段后面+unique

        create table 表名(字段 类型 UNIQUE , 字段 类型 条件约束 );

      方式二: 在定义表结构时,已经指定了所有的字段,在最后使用constraint关键字,添加唯一约束

        create table 表名(

        字段 类型 条件约束 ,

        字段 类型 条件约束 ,

        constraint 唯一约束名称 UNIQUE(添加唯一约束的字段名)

        );

 

        create table 表名(

        字段 类型 条件约束 ,

        字段 类型 条件约束 ,

         UNIQUE(添加唯一约束的字段 名)

        );

      方式三: 在定义完表结构后,通过修改表结构方式

      alter table 表名 add constraint 唯一约束名称 UNIQUE(添加唯一约束的字段名);

      alter table 表名 add UNIQUE(添加唯一约束的字段名);

      删除唯一约束:

        如果指定了唯一约束名称,则必须通过唯一约束名称,来删除唯一约束

          alter table 表名 drop index 唯一约束名称

        如果没有指定唯一约束名称,则必须通过字段名称删除唯一约束

          alter table 表名 drop index 字段名;

  DQL(Data Query Language)

    一、查询表记录:select(查)

        查询表中所有数据------SELECT * FROM 表名;

        查询表中指定字段的数据------SELECT 列名 FROM 表名;

       二、字段名设置别名:

        1.select 字段名 as '别名' , 字段名 as '别名' ... from 表名;

        2.select 字段名 '别名' , 字段名 '别名' ... from 表名;

        3.select 字段名 别名 , 字段名 别名 ... from 表名;

        三、设置表别名------select 字段名 as '别名' , 字段名 as '别名' ... from 表名 as 表别名;

        四、去掉重复数据------select distinct 字段名 from 表名;

        五、运算查询和多次查询------select 字段名,字段名,字段名和运算表达式 from 表名;

        六、条件查询------SELECT * FROM 表名 WHERE pname='彭于晏';

          SELECT * FROM product WHERE pname LIKE '%彭于晏%';

        七、排序查询------SELECT * FROM 表名 ORDER BY 排序字段 ASC 或者 DESC;

      

posted @ 2021-06-26 13:01  DawsonDragon  阅读(48)  评论(0编辑  收藏  举报