SQL语法

MySQL的SQL语句

SQL语句分类

DDL(Data Definition Language): 定义数据库对象,也就是创建、修改、删除:数据库,表,列关键字create、alter、drop

DML(Data Manipulation Language):更新数据库中表的记录。关键字:update、delete、insert

DCL(Data Control Language):对用户的权限安全级别进行控制

DQL(Data Query Language):查询表记录。关键字: select、from、where。

SQL通用语法:

  • SQL语句可以单行或多行书写结尾用分号

  • 可以使用空格和缩进增强语句的可读性。

  • MySQL 数据库的 SQL语句 不区分大小写,关键字建议使用大写。

  • 注释可以使用 /**/

DDL数据库操作:

1.创建数据库

格式:
create database 数据库名;

create database 数据库名 character set 字符集;

2.查看数据库

查看数据库MySQL服务器中所有的数据库
show database;

查看数据库MySQL服务器中某个数据库
show create database 数据库名;

3.删除数据库

drop database 数据库名称;

4.使用数据库

查看正在使用的数据库
select database();

切换数据库
use 数据库名;

DDL表操作:

1.1创建表

create table 表名(
字段名 类型(长度) [约束],
字段名 类型(长度) [约束],
字段名 类型(长度) [约束],
...
);
类型:
	varchar(n)	字符串
	int			整形
	double		浮点
	date		时间
	timestamp	时间戳
约束:
	primary key	主键,被主键修饰字段中的数据,不能重复、不能为null。

1.2查看表

查看数据库中的所有表:
格式:show tables;

查看表结构
格式:desc 表名;
例如:desc sort;

1.3.删除表

格式:drop table 表名;

1.4 修改表结构格式

  • alter table 表名 add 列名 类型(长度) [约束];

    作用:修改表添加列.

    例如:

    为category表添加一个新的字段desc为分类描述 varchar(20)
    ALTER TABLE category ADD `desc` VARCHAR(20);
    
  • alter table 表名 modify 列名 类型(长度) [约束];

    作用:修改表修改列的类型长度及约束.

    例如:

    为category表的描述字段desc进行修改,类型varchar(50) 添加约束 not null
    ALTER TABLE category MODIFY `desc` VARCHAR(50) NOT NULL;
    
  • alter table 表名 change 旧列名 新列名 类型(长度) [约束];

    作用:修改表修改列名.

    例如:

    为category表的分类名称字段desc进行更换更换为 snamesname varchar(30)
    ALTER TABLE category change desc snamesname VARCHAR(30);
    
  • alter table 表名 drop 列名**;**

    作用:修改表删除列.

    例如:

    ALTER TABLE category DROP description;
    
  • rename table 表名 to 新表名**;**

    作用:修改表名

    例如:

    rename TABLE category TO category2;
    
  • alter table 表名 character set 字符集**;**

    作用:修改表的字符集

    例如:

    alter table category character set gbk;
    

DML 数据操作语言

插入表记录:insert

  • 语法

    -- 向表中插入某些字段
    insert into 表 (字段1,字段2,字段3..) values  (值1,值2,值3..); 
    
    --向表中插入所有字段,字段的顺序为创建表时的顺序
    insert into 表 values (值1,值2,值3..);
    
  • 注意

    • 值与字段必须对应,个数相同,类型相同

    • 除了数值类型外,其他的字段类型的值必须使用引号引起(建议单引号)

    • 值的数据大小必须在字段的长度范围内

    • 如果要插入空值,可以不写字段,或者插入 null.
      例如:

      INSERT INTO category(cid,cname) VALUES('c001','电器');
      INSERT INTO category(cid,cname) VALUES('c002','服饰');
      INSERT INTO category(cid,cname) VALUES('c003','化妆品');
      INSERT INTO category(cid,cname) VALUES('c004','书籍');
      
      INSERT INTO category(cid) VALUES('c002');
      INSERT INTO category(cname) VALUES('耗材');
      

    更新表记录:update

  • 语法

    --更新所有记录的指定字段
    update 表名 set 字段名=值,字段名=值,...;
    
    --更新符号条件记录的指定字段
    update 表名 set 字段名=值,字段名=值,... where 条件;
    
  • 注意

    • 列名的类型与修改的值要一致
    • 修改时不能超过最大长度
    • 除了数值类型以外,其他的字段类型的值必须使用引号引起

删除记录:delete

  • 语法

    
    
  • 删除表中所有记录使用delete from 表名; 还是用truncate table 表名;

    删除方式:delete 一条一条删除,不清空auto_increment记录数。

    truncate 直接将表删除,重新建表,auto_increment将置为零,从新开始。

DQL数据查询语言

  • 语法:

    *select [distinct] |列名,列名 from 表 where 条件

    条件查询:

    比较运算符
    > < <= >= = <> !=大于,小于,小于(大于)等于,不等于
    between …and…某一区间的值,(含头含尾)
    like ‘…’模糊查询,**%代表零个或多个任意字符,_**代表一个字符,例如:first_name like ‘_a%’;
    is null是否为空
    逻辑运算符
    and多个条件同时成立
    or多个条件任一成立
    not不成立,例: where not(salary>100)

查询语句重点语法

select [distinct]

*| 列名,列名

from 表

where 条件

distinct: 去重

from: 从 …

where: 条件连接符

order by :排序

ASC: 升序

DESC: 降序

  • count:指定列不为null的记录行数

  • sum: 指定列的数值和

  • max: 指定列的最大值

  • min: 指定列的最小值

  • avg: 指定列的平均值

    group by 列名 以 XXX列分组

    SELECT 字段1,字段2... FROM 表明 LIMIT M,N
     M: 整数,表示从第几条索引开始,计算方式 (当前页-1)*每页显示条数
     N: 整数,表示查询多少条数据
     SELECT 字段1,字段2... FROM 表明 LIMIT 0,5
     SELECT 字段1,字段2... FROM 表明 LIMIT 5,5
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值