MySQL基本操作语句

xiaoxiao2025-04-15  15

一、数据库操作

新增数据库

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

转载请注明原文地址: https://www.6miu.com/read-5028296.html

最新回复(0)