mysql的入门基本使用(适合新手学习)

1.mysql的入门基本使用

1.登陆Mysql数据库

mysql -u root -p 密码

2.展示(查询)所有数据库

show databases;

3.进入数据库

use dataname;

4.创建数据库

create database dataname;

2.操作数据规则

2.1 DML:

它们是**UPDATE、INSERT、DELETE,**就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言

查询表为 person(表名) 的所有内容(查询)

select * from person;

插入一条数据(添加)

insert into person(name,age) value('zhagnsan',23);

为id为1的添加name(修改)

update person set name = '张三' where id=1;

删除id为1的数据(删除)

delete from person where id = 1;

2.2 DDL:

主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用

对表结构修改

create table tablename(name varchar(32),age int);//创建表(字段)
alter table //删除添加修改表
alter table person add home varchar(32);
alter table person drop home varchar(32);
desc person //查看表结构

2.3 DCL:

是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有
sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL

select columnlist //列名
		from table_list //哪些表获取数据
		where condition //过滤数据的条件
		group by grouping //分组条件
		having condition //对分组结果进行过滤
		start,limit //对结果进行限定 

查询需求如下:
–条件:年龄为奇数
按home 分组
查询分数最高的 并且大于80分
只返回一条
查询person表中的age为奇数的以home分组并且age为1的 查询一条

select age from person where age%2=1 group by home having age=1 limit 1;

2.4 DQL:

它们是SELECT就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言
(1)列(字段)控制

	①:查询所有列
		select * from 表名;   //其中 * 表示查询所有列

	②:查询指定 列()
		select 列1 [,列2,列3...] from 表名;

	③:完全重复的记录只显示一次
		select distinct 列名 from 表名;

	④:列运算
		* 数值类型的列可以做加、减、乘、除运算

			>select 列名+2 from 表名;   把这个列的值加上2

		* 字符串类型的列可以做连续运算

			>select concat('***',列名) from 表名;   在这个列值前面拼接上3个***

		* 转换NULL值

			有时候需要把null转换为其他值再来做运算或者赋值,如果该列存在null值,做运算还是null,这时就希望把该列的null值转化为0或者其他值再来做运算
			>select ifnull(列名,想要转化为什么样的值) from 表名;

		* 给列起别名

		>select ifnull(列名,0)+100 AS 别名 from 表名;   AS 可以省略不写

(2)条件控制:
(2.1)条件查询
与前面的讲的UPDATE和DELETE的语句一样,SELECT语句也可以使用 WHERE关键字来控制条件

	* SELECT 列名1,列名2... 列名n FROM 表名 WHERE 条件;(age>10 AND name IS NOT NULL)

(2.2)模糊查询
当你想查询姓cao的name时,这时就可以使用模糊查询

	* SELECT * FROM 表名 WHERE name LIKE '黄_';( 1 个下划线代表 1 个字符)
		:查询限制了字符长度
	* SELECT * FROM 表名 WHERE name LIKE '黄%';( % 匹配 0...n 个字符)
		:查询不限制字符长度
	* SELECT * FROM 表名 WHERE name LIKE '%小%';(name 中有"小"的所有数据)

二:排序:order by 排序的关键字

(1)升序
	* SELECT * FROM 表名 ORDER by 列名 ASC;(ASC :升序)
		>按照 列名 来做排序---升序
		>其中ASC可以省略(建议不要省略)
(2)降序
	* SELECT * FROM 表名 ORDER BY 列名 DESC; ( DESC : 降序)
		>按照 列名 来做排序---降序
		>其中DESC不可以省略
(3)多列排序
	SELECT * FROM 表名 ORDER BY 列名1 ASC ,列名2 DESC;

三:聚合函数:聚合函数用来做某列的纵向运算

(1)COUNT 
	SELECT COUNT(*) FROM 表名;
		>计算表中列不全为NULL的记录的行数(有效记录)
	SELECT COUNT(列名) FROM 表名;
		>计算表中指定的列中值不为NULL的记录的行数
(2)MAX 
	SELECT MAX(列名) FROM 表名;
		>计算指定列中的最大值
(3)MIN
	SELECT MIN(列名) FROM 表名;
		>计算指定列中的最小值
(4)SUM
	SELECT SUM(列名) FROM 表名;
		>计算指定列中的所有值的总和
(5)AVG
	SELECT AVG(列名) FROM 表名;
		>计算指定列中所有值总和的平均值

四:分组查询

分组查询是把所有记录使用某一列进行分组,然后查询组信息
例如:
	SELECT age,COUNT(*) FROM 表名 GROUP BY age;
		>按照年龄进行分组,查询各个年龄的记录数
	SELECT sex,MAX(age) FROM 表名 GROUP BY sex;
		>按照性别进行分组,查询每组性别中的最大年龄

SELECT 列名 ,COUNT(*) FROM 表名 GROUP BY 列名 HAVING COUNT(*) > 3;
	>按照性别分组,查询每组的记录数 大于 3 条记录数, 

五:limit字句(方言—只有MySql有)

LIMIT 用来限定查询结果的起始行,以及总行数

例如:查询起始行为第3行,一共查询4行记录

SELECT * FROM 表名 LIMIT (pageIndex - 1)* pageCount , pageCount;
	>其中2表示从第三行开始查,4表示查询4条记录,即:第3、4、5、6条记录

limit 被用来做数据分页查询
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值