MySQL 快速入门 之常使用到的语句

网友投稿 504 2022-05-30

在工作室不太忙时,整理了份实训文档,帮老师交给他所带的班上的师弟师妹(我可真是好人~)。留下精髓,记录一下经常使用的Mysql语句。

一、 MySQl程序操作

启动(管理员权限打开)

net start mysql

关闭(管理员权限打开)

net stop mysql

远程访问

mysql -hip -uroot -p 或 mysql --host=ip --user=root --password=密码

登录数据库

mysql -u root -p

查看数据库版本

mysql -V (或登录后输入status)

查看连接端口

show global variables like 'port';

退出

exit(或quit)

1.以分号结尾

2.SQL语句不区分大小写(关键字建议用大写)

3.注释方式:

单行注释:–注释内容 或 #注释内容

多行注释:/注释内容/

二、 数据库命令行操作

创建数据库

create database 库名;

删除数据库

drop database 库名;

选择/使用数据库

use 库名;

查询数据库

show databases;

查询当前数据库

select database();

查询数据库结构

show create database 库名;

修改数据库的字符集

alter database 库名 character set 字符集名; /*utf8*/

创建表

create table 表名;

删除表

drop table 表名;

查看数据表

show table;

显示数据表结构

desc/describe 表名;

查询表结构

show create table 表名;

复制完整表结构

create table 表名 like 被复制表的名

修改表名

alter table 表名 rename to 新表名;

修改表的字符集

alter table 表 character set 字符集;

添加一列

alter table 表名 add 列名 数据类型;

修改列名称

alter table 表 change 列 新列 新数据类型;

修改列类型

alter table 表名 modify 列名 新数据类型;

删除列

alter table 表名 drop 列名;

1.如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。

2.auto_increment定义列为自增的属性,一般用于主键,数值会自动加1。

3.primary key关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。

4.engine设置存储引擎,charset设置编码。

三、 crud命令行操作

crud是指在做计算处理时的增加(Create)、读取(Read)、更新(Update)和删除(Delete)几个单词的首字母简写。

插入数据

insert into 表名 (字段1, …) values (值1, …);

查询数据(查询条件是区分大小写的)

select 字段1, 字段2 from 表名 where 限定条件;

更新数据(如果不加条件,就会修改表中所有记录)

update 表 set 字段1=值… where 限定条件;

指定条件更新(replace用法)

update 表set 字段1=replace(值)… where 限定条件;

删除表(指定条件删除)

delete from 表名 where 限定条件;

四、 DQL(数据库查询语句)

多字段查询 (可以用 * 这个符号代替查询所有字段)

select 字段名1, 字段名2... from 表名;

去除重复 (两个字段名要都相同才能去重)

select distinct 字段名 from 表名;

计算列 (可以使用四则运算来简单计算数据)

select 字段名1+字段名2 from 表名;

若数据中有null, null参与运算,计算结果为null, 则将有null的字段用 IFNULL(字段名, 0)

例如:

select NAME, math, english, math + IFNULL(english, 0) from stu;

MySQL 快速入门 之常使用到的语句

起别名 (可以用AS, 也可以用一个或多个空格)

select 字段名 AS 别名 from 表名;

1.where子句后跟条件

2.运算符

例如: 查询名字中包含陈的学生的所有信息。

select * from stu where name LIKE '%陈%';

order by 排序字段1 排序方式, 排序字段2 排序方式2;

例如:

select * from stu ORDER BY math; /*默认升序排列*/

例如:

select * from stu ORDER BY math ASC; select * from stu ORDER BY math DESC;

1.count 计算个数

2.max 最大值

3.min 最小值

4.sum 计算和

5.avg 平均值

例如: 查询stu表中math的平均成绩,如果列中有null, 则为0。

select AVG(IFNULL(math, 0) from stu;

group by分组字段;

(1)where 在分组之前进行限定, 如果不满足条件, 则不参与分组。 having 在分组之后进行限定, 如果不满足结果, 则不会被查询出来。

(2)where 后不可以跟聚合函数, having 可以进行聚合函数的判断。

例如: 按照性别分组, 查询stu表, 分数大于70分, 分为男 女两组, 分别显示数学平均成绩和男女所占人数。

select sex , AVG(math), COUNT(id) peo_sum from stu where math > 70 GROUP BY sex HAVING peo_sum > 2;

分析:首先, 分组前用where进行筛选, 查询数学大于70, 接着用GROUP BY对性别进行分组. 分组完成后, 上面将COUNT(id)起名为peo_num, 最后用HAVING对分组后的数据进行筛选, 查询人数大于2的数据。

作用:限制查询结果的条数。

select * from 列表 limit m,n

解释:m是记录开始的index,从0开始,表示第一条记录;n是从m+1开始,取n条记录。

开始的索引 = 查询的页码 - 1

1.不指定位置偏移量,只取4条

SELECT * FROM stu LIMIT 4;

2.指定位置偏移量,从第4条起取3条

select * from stu LIMIT 3, 3; /*因为索引是从0开始计数的,所以第4条对应的索引是3*/

另外,推荐下载Navicat,使用Navicat操作数据库比较友好。

MySQL 数据库

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何用一条命令将网页转成电脑 App
下一篇:大企业都在用的ELK
相关文章