MySQL学习随笔01

SQL分类

SQL的分类:

  • DDL(Data Definition Languages):数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。

    主要的语句关键字包括create、drop、alter等。

  • DML(Data Manipulation Language):数据操作语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。

    主要的语句关键字包括insert、delete、update、select等。

  • DCL(Data Control Language):数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。

          主要的语句关键字包括grant、revoke等。

DDL

操作Database

创建数据库

create database 数据库名 [charset 字符集];

查看有哪些数据库

show databases;

删除数据库

drop database 数据库名;

选择数据库

use 数据库名;

查看当前正在使用哪个数据库

select database();

表结构的操作

查看当前数据库的所有表格

show tables; #前面必须有use 数据库名语句,否则报错

创建表结构

CREATE TABLE 表名称( 字段名1 数据类型1, 字段名2 数据类型2, 字段名3 数据类型3);

查看表结构

desc 表名称;

删除表结构

drop table 表名称;

修改表结构

(1)重命名表

rename table 表名 to 新表名;

(2)增加一列

alter table 表名 add 【column】 列名 数据类型 【default 默认值】【not null】; #默认在最后

alter table 表名 add 【column】 列名 数据类型 【default 默认值】【not null】 after 某一列;

alter table 表名 add 【column】 列名 数据类型 【default 默认值】【not null】 first;

(3)删除列

alter table 表名 drop 【column】 列名;

(4)修改列类型

alter table 表名 modify 【column】 列名 数据类型【default 默认值】【not null】;

alter table 表名 modify 【column】 列名 数据类型【default 默认值】【not null】 after 某一列;

alter table 表名 modify 【column】 列名 数据类型【default 默认值】【not null】 first;

5)修改列名等

alter table 表名 change 【column】 列名 新列名 数据类型【default 默认值】【not null】;

约束:CONSTRAINTS

(2)主键约束

        PRIMARY KEY

(3)唯一键

        Unique key

(4)外键:

       Foreign key

(5)非空约束

      NOT NULL 非空约束,规定某个字段不能为空

(6)检查约束 

      可以使用check约束

(7)Default缺省约束

     default:默认值,在插入数据时某列如果没指定其他的值,那么会将默认值添加到新记录。

(8)自增列:

    AUTO_INCREMENT

DML

数据操纵语言(DML)DML用于插入、修改、删除数据记录,包括如下SQL语句:

INSERT:添加数据到数据库中

UPDATE:修改数据库中的数据

DELETE:删除数据库中的数据

 

插入数据

INSERT INTO 表名称 VALUES(值1,值2,......),(值1,值2,......),...;

INSERT INTO 表名称 (字段1,字段2,......) VALUES(值1,值2,......),(值1,值2,......),.....;

修改数据

UPDATE 表名称 SET 字段名1 = 值1, 字段名2=值2,...... 【WHERE 条件】;

删除数据

delete from 表名 where 条件】;

1、如果不加where条件,表示删除整张表的数据,表结构保留

删除整张表的数据还可以使用truncate 表名;

truncate相当于删除表再重建一张同名结构的表,操作后得到一张全新表,而delete是在原有表中删除数据。如果决定清空一张表的数据,truncate速度更快一些。

查询

SELECT 查询列表
FROM 表名或视图列表
【WHERE 条件表达式】
【GROUP BY 字段名 【HAVING 条件表达式】】
【ORDER BY 字段 【ASC|DESC】】
【LIMIT m,n】;

 

posted on 2020-10-20 20:31  QingSeaSnow  阅读(47)  评论(0)    收藏  举报