SQL语言基础


description: 仅包含标准SQL语句内容,不包含与SqlServer、MySql等具体数据库相关的特性

SQL语言基础

SQL语句分类

Data Define Language (DDL) 数据定义语言

  • CREATE-在数据库中新建对象
  • ALTER-修改数据库结构
  • DROP-删除对象
  • RENAME-重命名对象

Data Manipulation Language (DML) 数据处理语言

  • SELECT-从数据库中获取数据
  • INSERT-向一个表格中插入数据
  • UPDATE-更新一个表格的已有数据
  • DELETE-删除表格中的数据

Data Control Language (DCL) 数据控制语言

  • GRANT-赋予一个用户对数据库/数据表的指定权限
  • REVOKE-删除一个用户对数据库/数据表的指定权限

Transaction Control Language (TCL) 事务控制语言

  • COMMIT-保存数据操作
  • SAVEPOINT-为方便rollback建立的一个事务点
  • ROLLBACK-从最后一个COMMIT中恢复到提交前状态

数据库管理

创建数据库

CREATE DATABASE Student;

删除数据库

DROP DATABASE Student;

重命名数据库

RENAME DATABASE Student TO Student1; #【已弃用】此语句仅曾在一个版本的MySql中可用

数据类型

数据类型用途
integer(size), int(size), smallint(size), tinyint(size)存储整型数据
decimal(size,d), numeric(size,d)存储浮点数据
char(size)存储固定长度字符串
varchar(size)存储可变长度字符串
date(yyyymmdd)存储日期

创建表格

USE Student;#先选中一个数据库

CREATE TABLE info(
id int(10),
name varchar(50),
age int#最后一个属性不能带逗号','
);

SHOW TABLES;#显示所有数据表

查看表结构

查看一个表的结构
DESCRIBE info;#DESCRIBE可以缩写为DESC
删除一个表格
DROP TABLE info;

修改表

重命名一个表

ALTER TABLE info RENAME info1;

向表中添加一列

ALTER TABLE info ADD sex varchar(10);

删除表中一列

ALTER TABLE info DROP COLUMN sex;

修改一个列的数据类型

ALTER TABLE info MODIFY name varchar(20);

重命名一个列

ALTER TABLE info CHANGE COLUMN name name1 varchar(20);

SQL-向表中插入数据

向表中插入一条记录

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

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

例如

INSERT INTO info VALUES(2,'zhaoritian',20);
INSERT INTO info(id,name) VALUES(1,'zhaoritian');

SQL-查询数据

从表格中查询数据

SELECT 列名称1,列名称2,... FROM 表名称;

SELECT * FROM 表名称;

例如

SELECT id,name FROM info;
SELECT * FROM info;

按条件查询数据

从表格中按条件查询一条数据

SELECT 列名称1,列名称2,... FROM 表名称 WHERE 列 运算符 值;

例如

#按id
SELECT * FROM info WHERE id=1;
#按name
SELECT * FROM info WHERE name='zhaoritian';
SQL WHERE支持的运算符
符号功能
=等于
<>不等于
>大于
<小于
>=大于等于
<=小于等于
BETWEEN在某范围内
LIKE搜索某种模式

删除一条记录

从表格中查询并删除一条记录

DELETE FROM 表名称 WHERE 列 运算符 值;

DELETE * FROM 表名称;

例如

DELETE FROM info WHERE id = 2;

更新一条记录

从表格中查询并更新一条记录

UPDATE 表名称 SET 列名称=新值 WHERE=;
#注意:WHERE的筛选结果需要唯一!

例如

UPDATE info SET name='zhaosi' WHERE id=1;

DISTINCT

返回结果删除重复项

SELECT DISTINCT 列名称 FROM 表名称;

例如

SELECT DISTINCT sex FROM info;

AND & OR

WHERE条件中使用逻辑组合

SELECT * FROM 表名称 WHERE 条件1 AND 条件2;
SELECT * FROM 表名称 WHERE 条件1 OR 条件2;

例如

SELECT * FROM info WHERE sex='F' AND id=2;

对结果进行排序

对查询结果按指定列进行排序

SELECT * FROM 表名称 ORDER BY 列名称;#默认顺序
SELECT * FROM 表名称 ORDER BY 列名称 DESC;#逆序

例如

SELECT * FROM info ORDER BY id;
SELECT * FROM info ORDER BY id DESC;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值