mysql注释符号6,SQL笔记

目录

SQL语句

SQL是用于访问和处理数据库的标准的计算机语言,全称是Structured Query Language。

1.连接数据库

明文连接

mysql -h127.0.0.1 -P3306 -uroot -proot

mysql -uroot -proot

密文连接

mysql -uroot -p

2.退出数据库

EXIT

quit

q

Ctrl+c

注意:SQL语句最后要有分号结尾。

3.常用SQL语句

查询当前数据库版本             select version();

查询当前数据库用户             select user();

查询当前路径                        select @@basedir;

查询所有数据库                    select databases;

选择一个数据库                    use + 数据库名;

查询当前数据库                    select database();

查询所有表名                        select tables;

创建一个数据库                    create database 数据库名;

删除一个数据库                    create database 数据库名;

查询一个表的结构                 desc 表名;

4.创建表

语法:createtable 数据表名字(字段 类型 约束 [,字段 类型 约束])

SQL语句增删改查

增添数据

1.INSERT语句指定所有字段名

语法:INSERT INTO 表名 (字段名1,字段名2,......) VALUES(值1,值2,.....);

2.INSERT语句不指定所有字段名

语法:INSERT INTO 表名 VALUES(值1,值2,.....);

3.INSERT语句为指定字段添加数据,其他字段为默认值

语法:INSERT INTO 表名(字段1,字段2,…)VALUES(值1,值2,…);

4.同时添加多条数据

语法:INSERT INTO 表名(字段名1,字段名2,…) VALUES (值1,值2,…),(值1,值2);

删除数据

1.删除指定部分数据

语法:DELETE FROM 表名 WHERE 条件表达式;

2.删除全部数据

语法:DELETE FROM 表名;

TRUNCTE [TABLE] 表名;

修改数据

1.更新指定表中的指定记录

语法:UPDATE 表名 SET 字段名1=值1,[ ,字段名2=值2,…] [ WHERE 条件表达式 ];

2.更新全部数据

语法:UPDATE FROM 表名 SET 字段名1=值1,[ ,字段名2=值2,…] ;

查询数据

1.带关系运算符的查询

语法:SELECT 字段名1,字段名2,...FROM 表名 WHERE 条件表达式;

2.带IN关键字的查询

语法:SELECT * 字段名1,字段名2,...FROM 表名 WHERE [NOT] IN (元素1,元素2...);

3.带BETWEEN AND 关键字的查询

语法:SELECT * { 字段名1,字段名2,… FROM  表名WHERE 字段名 [ NOT ] BETWEEN  值1  AND  值2;

4.空值查询

语法:SELECT *  字段名1,字段名2,…FROM 表名 WHERE 字段名 IS [ NOT ] NULL;

5.带DISTINCT关键字的查询

语法:SELECT DISTINCT 字段名 FROM 表名;

6.带LIKE关键字的查询

(1)百分号通配符

语法:SELECT * | 字段名1,字段名2,…FROM 表名 WHERE 字段名 [ NOT ] LIKE ‘匹配字符串’;

eg:SELECT id,name FROM student  WHERE name LIKE "s%";

(2)下划线通配符

语法:语法:SELECT * | 字段名1,字段名2,…FROM 表名 WHERE 字段名 [ NOT ] LIKE ‘匹配字符串’;

eg:SELECT * FROM student WHERE name LIKE 'xia_qiao';

7.带AND关键字的多条件查询

语法:SELECT * | 字段名1,字段名2,…FROM 表名;

eg:SELECT id,name FROM student WHERE id<5 AND sex='woman';

8.带OR关键字的多条件查询

语法:SELECT * | 字段名1,字段名2,…FROM 表名 WHERE 条件表达式1 OR 条件表达式2 [ … OR 条件表达式 n ];

9.带AND和OR关键字的多条件查询

语法:SELECT * | 字段名1,字段名2,…FROM 表名;

AND的优先级高于OR

10.聚合函数

(1)COUNT()函数:统计记录的条数

语法:SELECT COUNT(*) FROM 表名;

(2)SUM()函数:求出表中某个字段所有值的总和

语法:SELECT  SUM(字段名) FROM 表名;

(3)AVG()函数:求出表中某个字段所有值的平均值

语法:SELECT AVG(字段名) FROM 表名;

(4)MAX()函数:求出表中某个字段所有值的最大值

语法:SELECT MAX(字段名) FROM 表名;

(5)MIN()函数:求出表中某个字段所有值的最小值

语法:SELECT MIN(字段名) FROM 表名;

11.对查询结果进行排序

(1)带ORDER BY关键字的排序

语法:SELECT 字段名1,字段名2,…FROM 表名 ORDER BY 字段名1 [ ASC | DESC ],字段名2 [ ASC | DESC ]…;

注:ASC表示升序,DESC表示降序,默认情况是升序排列。

(2)带GROUP BY关键字的排序

语法:SELECT  字段名1,字段名2,…FROM 表名 GROUP BY 字段名1,字段名2,… [ HAVING 条件表达式 ];

注意:HAVING关键字和WHERE关键字的作用相同,区别在于HAVING 关键字可以跟聚合函数,而WHERE 关键字不能。通常HAVING 关键字都和GROUP BY一起使用,用于对分组后的结果进行过滤。

12.使用LIMIT限制查询结果的数量

语法:SELECT 字段名2,字段名2,…FROM 表名 LIMIT 记录数 [ OFFSET ] 记录数   LIMIT Y OFFSET X 向后偏移 x位。

13.为表和字段取别名

语法:SELECT * FROM 表名 [ AS ] 别名;       为表取别名

SELECT 字段名 [ AS ] 别名 [ ,字段名 [AS] 别名,…]  FROM 表名 ;     为字段取别名

子查询

eg:select name from student where id < (select age from student where name='sunce');

联合查询

eg:select version() union select user();

嵌套查询

eg:select count(*) from (select * from student2) as s;

利用内置表查询

eg:select table_name from information_schema.tables;

SQL中的tips

1.符号运用

=  数据库的赋值符号

||  连接符 比如111||222  实际为111222

or    逻辑或 左右两边有一条成立 那么返回true 否则false

xor  逻辑异或。 如果任一操作数为NULL,则返回NULL。 对于非NULL操作数,如果奇数个操作数非零,则求值为1,否则返回0。

&&/And  逻辑与,并且的意思  左右两边的条件必须同时成立则返回true 否则返回false

NOT/! 逻辑非

+、-、*、/  运算符 加减乘除

2.常用注释符号

//,-- , /**/, #, --+, -- -, ;,%00,--a

3.内联注释

内联注释符是一种基于注块注释衍生出来的注释风格,它可以用于整个SQL语句中,用来执行SQL语句,内联注释有个特殊点,和MySQL版本息息相关

4.常见空格表示符号

两个空格代替一个空格,用tab代替空格,%0a=空格。

5.SQL注入常见函数

(1)sleep()函数 :对数据库进行延时的函数

语法:后面直接跟需要延时的时间即可,默认单位为s

(2)updatexml() 函数

语法:updatexml(目标xml文档,xml路径,更新的内容)

(3)exp()函数

此函数返回e(自然对数的底)的X次方的值,当传递一个大于709的值时,函数exp()就会引起一个溢出错误。类似的还有pow(),cot()。

(4)length()函数:返回参数的长度

(5)substr()函数:从字符串 s 的 start 位置截取长度为 length 的子字符串,select substr(user(),1,2);

(6)substring()函数,left() ,mid()函数,同substr。

(7)ascii()、ord()函数:返回字符的ascii码。

(8)name_const()函数:构造一个临时列,列名为xx,值为xx。

(9)strcmp()函数:strcmp函数是string compare(字符串比较)的缩写,用于比较两个字符串    并根据比较结果返回整数。

基本形式为strcmp(str1,str2),若str1=str2,则返回零;

若str1

若str1>str2,则返回正数。

(10)if(a,b,c)函数:如果a为真,则返回b,否则返回c。

(11)locate()函数:locate(substr,str)返回substr字符串在str中出现的位置,没有返回0。

(12)position()函数:position(substr in str)返回substr字符串在str中出现的位置,没有返回0。

(13)instr()函数:instr(str,substr)返回substr字符串在str中出现的位置,与locate相同,只是参数顺序相反。

标签:函数,SQL,笔记,查询,语法,字段名,表名,SELECT

来源: https://blog.csdn.net/m0_47599604/article/details/114001028

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值