MySQL核心SQL

结构化查询语句SQL

SQL是结构化查询语言(Structure Query Language)

SQL主要可划分为以下3个类别:

  • DDL(Data Definition Languages)语句
    数据定义语言,这些语句定义了不同的数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括create、drop、alter等

  • DML(Data Manipulation Language)语句
    数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用的语句关键字主要包括insert、delete、update和select等。

  • DCL(Data Control Language)语句
    数据控制语句,用于控制不同的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括grant、revoke等。

库操作

查询数据库:

show databases;

创建数据库:

create database chatDB;

删除数据库:

drop database chatDB;

选择数据库:

use chatDB;

表操作

创建数据表
创建MySQL数据表需要:表名、表字段名、定义每个表字段

CREATE TABLE user(
id INT UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT,
name VARCHAR(50) UNIQUE NOT NULL,
age TINYINT NOT NULL,
sex ENUM('M','W') NOT NULL
)engine=INNODB DEFAULT CHARSET=utf8;

查看创建当前表的SQL语句

show create table user\G;

删除数据表
删除表(表和表中数据都会被删除)

DROP TABLE table_name;

删除表中某一条数据

DELETE FROM table_name [WHERE Clause];

修改数据表
插入数据

insert into user(name,age,sex) values ('bsy',20,'M');
insert into user(name,age,sex) values ('xxx',22,'W');
insert into user(name,age,sex) values ('hhh',34,'M');
insert into user(name,age,sex) values ('aaa',65,'W');
insert into user(name,age,sex) values ('bbb',54,'M');

insert into user(name,age,sex) values ('bsy',20,'M'),('xxx',22,'W'),('hhh',34,'M'),('aaa',65,'W'),('bbb',54,'M');

两者区别:第一种每一条SQL都执行一遍以下过程:

  1. client和serverTCP三次握手
  2. client发送sql到server上接收并处理,返回处理结果
  3. server和client断开连接,TCP四次挥手

而第二种只需执行一遍以上操作,减少网络资源的损耗

更新数据

update user set age=age+1 where id=3;
update user set age=23 where name like 'zhang%';

查询数据表
查询数据表中的数据

select * from user;
select id,nickname,name,age,sex from user;
select id,name from user;
select id,nickname,name,age,sex from user where sex='M' and age>=20 and age<=25;
select id,nickname,name,age,sex from user where sex='M' and age between 20 and 25;
select id,nickname,name,age.sex from user where sex='W' or age>=22;

去重查询

select distinct * from user;

空值查询

select * from user where name is not null;(或null

union合并查询
union[ALL | DISTINCT] #注意:union默认去重,不用修饰distinct,all表示显示所有重复值

select name,age,sex from user where age>=21 union all select name,age,sex from user where sex='M';

带in子查询

select * from user where age in (20,21);
select * from user where age not in (20,21);
select * from user where id in (select stu_id from grade where score>=60.0);

查看数据库中存在的表

show tables;

查看数据库中的表的结构

desc user;desc user\G;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值