分享好友 站长动态首页 网站导航

SQL学习笔记

网友发布 2022-08-04 22:37 · 头闻号数据库

RDBMS= 管理员(manager)+仓库(database)

database = N个table

table:



SQL语言概述

1、SQL是什么,结构话查询语言(Structured Query language)

2、SQL的作用,客户端使用SQL来操作服务器。

3、SQL的标准,由国际标准化组织(ISO)制定的,对DBMS的统一操作方式。


SQL语法

1、SQL语句可以单行或者多行书写,以分号结束。

2、可以使用空格或者缩进来增强语句的可读性。

3、Mysql不区分大小写,关键字建议使用大写。


SQL语句的分类

1、DDL(Data Definition Language)数据定义语言,用来定义数据库对象,库、表、列等。

创建、删除、修改库、表结构。

2、DML(Data Manipulation language)数据操作语言,用来定义数据库的记录(数据);

增、删、改表记录。

3、DCL(Data Control language)数据控制语言,用来定义访问权限和安全级别。

4、DQL(Data Query language)数据查询语言,用来查询记录。


DDL

1、数据库

查看所有的数据库:SHOW DATAbaseS

切换(选择要操作的)数据库:USE 数据库名

创建数据库:CREATE DATAbase[IF NOT EXISTS mydb1[ CHARSET=UTF8]

删除数据库:DROP DATAbase[IF EXISTS] mydb1

修改数据库:ALTER DATAbase mydb1 CHARACTER SET utf8


2、数据类型(列类型)

int:整型

double:浮点型,例如double(4,2)意思就是最多4位,其中两位必须是小数。

decimal:浮点型,在表单前使用该类型,因为不会出现精度缺失问题。

char:固定长度字符串类型,char

varchar:可变长度字符串类型;

text(clob):字符串类型;

data:日期类型,格式为yyyy-MM-dd;

time:时间类型,格式为:hh:mm:ss

timestamp:时间戳类型;


3.表

创建表

CREATE TABLE 表名(

列名 列类型,

列名 列类型,

...

列名 列类型

);

查看当前数据库中的所有表名称:SHOW TABLES;

查看指定表的创建语句:SHOW CREATE TABLE 表名;

查看表的结构:DESC 表名;

删除表:DROP TABLE 表名

修改表:前缀:ALTER TABLE 表名

添加列:ALTER TABLE 表名 ADD(列名 列类型);

修改列类型:ALTER TABLE 表名 CHANGE 原列名 新列名 列类型;

修改之删除列::ALTER TABLE 表名 DROP 列名;

修改表名称::ALTER TABLE 原表名 RENAME TO 新表名;


DQL:SELECT * FROM 表名


DML(数据操作语言,他是对表记录的操作,增、删、改)

1、插入数据

INTERT INTO 表名(列名1,列名2,...) VALUES;

表名是要插入的列名,

没有给出要插入的列,那么表示插入所有列。

2、修改数据

UPDATE 表名 SET 列名1=列值1,列名2=列值2,...

条件(可选)

条件必须是一个boo;ean类型的值或者表达式

3、删除数据

DELETE FROM 表名 (WHERE 条件);

TRUNCATE TABLE 表名:TRUNCATE 是DDL语句,他是先删除drop该表,再create该表,无法回滚。


DCL

1、创建用户

CREATE USER 用户名@IP地址 IDENTIFIED BY '密码';

用户只能在指定的IP地址上登录

CREATE USER 用户名@'%' IDENTIFIED BY'密码';

用户可以在任意IP地址登录

2、给用户授权

GRANT 权限1,...,权限n ON 数据库.* TO 用户名@IP地址

权限、用户、数据库

给用户分派在指定的数据库上的指定权限

3、撤销授权

REVOKE 权限1,...,权限n ON 数据库.* FROM 用户名@IP地址 ;

撤销指定用户在指定数据库上的指定权限

4、查看权限

SHOW GRANTS FOR 用户名@IP地址

查看指定用户的权限

5、删除用户

DROP USER 用户名@IP地址


DQL——数据查询语言(查询不会修改数据库记录)

一、基本查询

1、字段(列)控制

查询所有列

SELECT * FROM 表名

其中的*代表所有列

查询指定列

SELECT * 列1[,列2,……列n] FROM 表名;

完全重复的记录只显示一次

SELECT DISTINCT * 列1[,列2,……列n] FROM 表名;

列运算

数量类型可以加减乘除

字符串类型可以连续运算

转换NULL值,有时候需要将NULL值转化为其他值

给列起名,AS

2、条件控制

条件查询SELECT语句可以使用WHERE子句来控制记录。

模糊查询,LIKE,其中匹配任意一个字符

其中%匹配0~n个任意字符,

3、排序

升序 ORDER BY ASC

降序 ORDER BY DESC

可以使用多列做为排序条件


4、聚合函数

COUNT,计算表中的记录的数量

MAX,计算最大值

MIN,计算最小值

SUM,数据求和

AVG,计算平均工资

免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报

举报
反对 0
打赏 0
更多相关文章

评论

0

收藏

点赞