MySQL--基本操作

基本操作 都坐下!!!

想学习,但也不知道从哪学起。。。。。。。。。。。。。
就先来点基本操作吧

先简单介绍下mysql

MySQL是一种DBMS(数据库管理系统),即它是一种数据库软件
数据库(database)保存有组织的数据的容器

表(table)某种特定类型数据的结构化清单

模式(schema)关于数据库和表的布局及特性的信息

列(column)表中的一个字段,多有表都是有一个或多个列组成

数据类型(datatype)所容许的数据类型。每个表列都用相应的数据类型,它限制(或容许)该列中存	储的数据

行(row)表中的一个记录

主键(primary key)一列(或一组列),其值能够唯一区分表中的每个行

表中的任何列都可以作为主键,只要满足以下条件

每个行都必须具有一个主键值(不允许NULL值)且任意两行都不具有相同的主键值

1.数据库基本操作

--登陆
	mysql -user(u) username -password(p) password or none  MySQL登录
-- 查看当前数据库
    select database();
-- 显示当前时间、用户名、数据库版本
    select now(), user(), version();
-- 创建库
    create database[ if not exists] 数据库名 
-- 数据库选项数据库选项:
    CHARACTER SET charset_name
    COLLATE collation_name
-- 查看已有库
    show databases[ like 'pattern']
-- 查看当前库信息
    show create database 数据库名
-- 修改库的选项信息
    alter database 库名 选项信息
-- 删除库
    drop database 数据库名

2.表的操作

先记一下创建表的语句吧

create table customers(
	Id int primary key auto_increment,#部门编号 整形 主键 自增长
	Name varchar(18),#部门名称
 	description varchar(100)#描述
)Enging = InnoDB;

对比一下↑和↓有啥子区别??? 你品你细品(手动滑稽)

create table customers(
	int not null auto_increment,#部门编号 整形 主键 自增长
	Name varchar(18),#部门名称
 	description varchar(100)#描述
    primary key(Id)

)Enging = InnoDB;

接下来是操作表的语句

--表操作
	!!! drop table tb_dept;(删除跑路 慎用!!!!!)
	#增加列
		alter table 表名 add 列名 类型(长度);
	#删除列
		alter table 表名 drop tel;
		alter table 表名 drop column tel;
	#更改列名
		alter table 表名 change 原列名 新列名 varchar(18);
	#更改表名
		第一种:
		alter table 原表名 rename 新表名;
		第二种:
		rename table 原表名 to 新表名;

3.数据的操作(增删改查)

--- 增
    insert into 表名 (字段列表) values (值列表)
    或者
    insert into 表名 values (值列表)
    -- 如果要插入的值列表包含所有字段并且顺序一致,则可以省略字段列表。
        !可同时插入多条数据记录!
        
--- 删
    DELETE FROM 表名[ 删除条件子句]
        没有条件子句,则会删除全部----删除所有为空的数据
    delete from 表名 where 字段名 IS NULL

-----修改单个字段名称
   UPDATE  student SET ssex='男' where sname='小灰灰'
   
-----关联查询
	#内联
		select */列名 from 左表 inner join 右表 on 左id=右id where 查询条件
		查询结果:只有两个表都匹配的数据才会查找出来
		
	#外联
		(左联)select * from 左表 left join 右表 where 查询条件
		查询结果:左表数据全部显示,和左表不匹配的数据右表全置为空
		(右联)select * from 左表 right join 右表 where 查询条件
		查询结果:右表数据全部显示,和左表不匹配的数据左表全置为空
		(全联)
		select * from 左表 join 右表 where 查询条件
		查询结果:左表数据和右表数据全部显示,左表10条右表5条结果只显示5条
		这个全联和内联还是稍稍有点区别的
		
	--去重(关键字distinct)
		select *, count(distinct需要去重的字段) FROM 表名 group by 用来分组的字段
		去重distinct和count一起用不然的话查出来只是单个字段的数据
		
	--排序(关键字order by)
		select 字段名 from 表名 order by 字段1 [asc|desc],字段2 [asc|desc];
		asc:升序,desc:降序,默认为asc;
		
	--比较运算符
		什么玩意....自己看去吧
	--逻辑运算符
		NOT 或!	逻辑非
		AND 或&&	逻辑与
		OR 或 ||	逻辑或
		XOR	逻辑异或
		
	#模糊查询(关键字是Like)
		以龙开头的名字:%
		查询出所有包含龙的:%%
		查询最后以龙结尾的数据:_龙%
		查询以李,,赵开头的人:[李张赵]%
		查询不以李,,赵开头的人:[!李张赵]%
	  SELECT * FROM 表名 where 字段名 LIKE'%龙%'
		
	--范围查询(关键字 in)
		1.查询指定范围的,比如有id的表,要查询,id=1,2,3的:
		select *from table_name where id in(1,2,3);
		2.查询在某个范围的,比如查询id在2~8的:
		select *from table_name where id between 2 and 8;
		--between 可以连接多个and ,即可以添加多个判定条件
		--and比or的优先级高,如果同时出现并希望先运算or,可以运用()小括号使用

	--空判断(关键字 IFNULL)
	 	select IFNULL(1,2);
	 	假如值1 不为 NULL,则IFNULL() 的返回值为 值1; 否则其返回值为 值2IFNULL()的返回值是数字或是字符串
	--聚合
		count 函数: 算总数的
			select count(*) AS 别名  FROM 表名
			select count(字段名) AS 别名  FROM 表名
 		sum 函数: 求和的
 			select sum(字段名)  AS 别名  FROM 表名;
 		avg 函数: 计算平均值
 			select avg(字段名)  AS 别名 FROM 表名
 			求完平均值 还可以使用group by查询
 		MAX()函数和MIN()函数: 求最大和最小值的
 			select MAX(列名),MAX(列名) FROM 表名;--可查询多个最大值
 			select MAX(列名),MIN(列名) FROM 表名;--可以混合查询
	--分组
		select */列名1,列名2../聚合 from 表名 group by 用来分组的字段;
		select */列名1,列名2../聚合 from 表名 group by 用来分组的字段 having 分组后过滤的条件;
		having语句是分组后过滤的条件,在group by之后使用,也就是如果要用having语句,必须要先有group by语句。
		
	--分页
	select 列 from 表名  limit 起始条数,结尾条数
	select 列 from 表名 where 条件 limit 起始条数,每页显示条数
	开发中的sql:select 列 from 表名 limit (page - 1) * pageSize,pageSize;
	

行了 就先到这吧 散了散了哈!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值