MySQL基本操作语句

一、数据库操作

新增数据库

create database 数据库名 库选项;
库选项:字符集设定(编码格式,如GBK、UTF8)
	   校对及设定(数据比较的规则)

数据库名字不能用关键字和保留字,如若要用需在外部用`定界。
如取中文名需要输入命令:

set names GBK;
create database 中文名字 charset utf8;

查看创建的数据库

show databases;

删除数据库

drop database 数据库名;

二、数据表操作

新增数据表

create table if not exists 表名(
字段名字 数据类型,
......
字段名字 数据类型   --最后一行不需逗号
) 表选项;

if not exists :可选,如果表名存在则不执行创建代码(检查功能)

表选项:charset/character set 具体字符集
collecte 具体校对集
存储引擎:engine 具体存储引擎(innodb和myisam)

方法1:显式指定所属数据库
create table 数据库名.表名()表选项;
方法2:隐式指定表所属数据库(先进入某个数据库,然后创建表)
进入数据库环境:use 数据库名;
创建数据表

查看数据表

show tables;

查看表结构

desc/describe/show columns from 表名;

修改表名

rename table 旧表名 to 新表名;

删除数据表
将数据表结构和数据完全删除释放内存

drop table 表名1,表名2......;

只删除表内全部数据,保留表结构

truncate table 表名;

删除带条件的数据

delete from 表名 where 条件;

三、数据操作

新增数据

--给全表插入数据
--(无需指定字段列表,数据出现的顺序与表中字段的顺序一致,非数值数据用单引号包裹)
insert into 表名 values(值列表逗号隔开),(值列表)......;
--给指定字段插入数据(需指定字段列表,值顺序与指定的列表顺序一致)
insert into 表名(字段列表) values(值列表),(值列表)......;

查看数据

select *或指定字段1,字段2...... from 表名 where 条件;
  • where条件可省略

like子句查询

'%a'     //以a结尾的数据
'a%'     //以a开头的数据
'%a%'    //含有a的数据
'_a_'    //三位且中间字母是a的
'_a'     //两位且结尾字母是a的
'a_'     //两位且开头字母是a的

如:select * from user where name like "B%";在user表中查找字段中以B开头的内容
如果在like子句中没有使用%,则like和=的结果相同

排序

order by 字段,asc/desc

以某个字段进行排序,asc为升序,desc为降序。
字段可以为字段名也可以为数字,为数字时表示select参数的位置
如:

mysql> select * from class;
+------+-------+---------+-------+
| num  | name  | hobby   | grade |
+------+-------+---------+-------+
|    1 | Tony  | play    |    88 |
|    2 | ZW    | bbox    |   100 |
|    3 | Lily  | pinpang |    40 |
|    4 | Bob   | sing    |    45 |
|    5 | Alice | dance   |    88 |
+------+-------+---------+-------+
5 rows in set (0.00 sec)

mysql> select num,name from class order by 3;
ERROR 1054 (42S22): Unknown column '3' in 'order clause'
mysql> select num,name from class order by 1;
+------+-------+
| num  | name  |
+------+-------+
|    1 | Tony  |
|    2 | ZW    |
|    3 | Lily  |
|    4 | Bob   |
|    5 | Alice |
+------+-------+
5 rows in set (0.00 sec)

mysql> select num,name from class order by 2;
+------+-------+
| num  | name  |
+------+-------+
|    5 | Alice |
|    4 | Bob   |
|    3 | Lily  |
|    1 | Tony  |
|    2 | ZW    |
+------+-------+
5 rows in set (0.00 sec)

这种方法也是手工注入总常见的用来判断select的参数有多少个的方法。
更新数据

update 表名 set 字段=new值,字段=new值...... where条件;
  • 更改表中的数据,where条件可省略

删除数据

delete from 表名 where条件;
  • where条件可省略

五、字符集问题

查看服务器支持那些字符集的命令

show character set;

查看服务器默认的字符集

show variables like'character_set%';

在这里插入图片描述

修改服务器默认字符集(只是会话级别,当重新进入数据库后就会失效)

set variable_name=字符集;

快捷方法:

set names 字符集;//改变character_set_client、character_set_connection、character_set_result

六、相关函数

concat(str1,str2,str3…)
将多个字符串连接成一个字符串。如果需要分隔开字符串,需要在每个字符串之间加分隔符
在这里插入图片描述
否则字符串是连接在一起
在这里插入图片描述
concat_ws(参数1,str1,str2…)
参数1为分隔符,其余与concat一样。
在这里插入图片描述
当网站限制输入单引号时,可以将第一个参数进行十六进制转换
在这里插入图片描述
0x2C为逗号的十六进制表示
group_concat()
参考此博文介绍
参考:https://baijiahao.baidu.com/s?id=1595349117525189591&wfr=spider&for=pc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值