一、SQL 介绍
1、什么是sql?
SQL,英文全称(Structured Query Language),中文是结构化查询语言,它是一种对关系数据库中数据进行定义和操作的语言方法,是大多数关系数据库管理系统所支持的工业标准。
是一种数据库查询和程序设计语言,用于存取数据以及查询,更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。
2、SQL 语句最常见的分类
a、DDL (Data Definition Language)数据定义语言(CREATE,ALTER,DROP),管理基础数据,例如:库,表 #《==运维要熟练,开发也要熟练
b、DCL (Data control Language)数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK),例如:用户授权,权限回收,数据提交回滚等 #《==运维要熟练
c、DML (Data Manipulation Language)数据操作语言(LNSERT,DELETE,UPDATE),针对数据库里的表,记录 #《==开发要熟练,运维要了解
d、DQL (Data Query Language)数据检索语句(select,where,order by ,group by, having),作用是从表中取数据,确定数据怎样在应用程序给出。
e、TPL 事务处理语言,它的语句能够确被DML语句影响的表的所有行及时得以更新,TPL语句包括begin,transaction,commit和rollback。
f、CCL 指针控制语言(CURSOR Control Language)它的语句,像DECLARE cursor,fetch into和update where current用于对一个或多个表单独的操作。
二、sql语句规范
在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。sql功能强大,简单易学,使用方便,已经成为时刻操作的基础,并且现在几乎所有的时刻均支持sql。
1)、在数据库系统中,sql语句不区分大小写(建议用大写),但字符串常量区分大小写,建议命令大写,表名库名小写。
2)、sql语句可单行或多行书写,以“;”结尾,关键词不能跨多行或简写。
3)、用空格和缩进来提高语句的可读性。子句通常位于独力行,便于编辑,提高可读性。
1 SELECT * FROM tb_table 2 WHERE NAME="YUAN";
4)、注释:
单行注释: --
多行注释:/*......*/
5)、sql语句可以折行操作。
三、数据库操作
-- 1.创建数据库(在磁盘上创建一个对应的文件夹) create database [if not exists] db_name [character set xxx] -- 2.查看数据库 show databases;查看所有数据库 show create database db_name; 查看数据库的创建方式 -- 3.修改数据库字符集 alter database db_name [character set xxx] -- 4.删除数据库 drop database [if exists] db_name; -- 5.使用数据库 切换数据库 use db_name; -- 注意:进入到某个数据库后没办法再退回之前状态,但可以通过use进行切换 查看当前使用的数据库 select database();
四、数据类型
1、数值类型
作用:存储年龄,等级,id,手机号,身高,薪水等数字。
2、无符号类型
1 =========有符号和无符号tinyint========== 2 #tinyint默认为有符号 3 MariaDB [db1]> create table t1(x tinyint); #默认为有符号,即数字前有正负号 4 MariaDB [db1]> desc t1; 5 MariaDB [db1]> insert into t1 values 6 -> (-129), 7 -> (-128), 8 -> (127), 9 -> (128); 10 MariaDB [db1]> select * from t1; 11 +------+ 12 | x | 13 +------+ 14 | -128 | #-129存成了-128 15 | -128 | #有符号,最小值为-128 16 | 127 | #有符号,最大值127 17 | 127 | #128存成了127 18 +------+ 19 20 21 22 #设置无符号tinyint 23 MariaDB [db1]> create table t2(x tinyint unsigned); 24 MariaDB [db1]> insert into t2 values 25 -> (-1), 26 -> (0), 27 -> (255), 28 -> (256); 29 MariaDB [db1]> select * from t2; 30 +------+ 31 | x | 32 +------+ 33 | 0 | -1存成了0 34 | 0 | #无符号,最小值为0 35 | 255 | #无符号,最大值为255 36 | 255 | #256存成了255 37 +------+