3.1.3、MySQL__数据库基本建表查询,登录,sql语句,建表语句,修改表结构,增删改查,as别名,limit分页,distinct去重,聚合函数,

关系型:以行作为记录,列数相同
非关系型:以列作为记录,行数随便

1、登录

服务器->数据库->表(行列组成的二维表格)->行
client操作服务器通过命令登录操作:mysql -u用户名(默认root) -p密码

2、SQL语句:每个命令执行结束加分号结束

查询所有数据库:show databases;
切换数据库:use 库命名;
创建数据库:create database [IF NOT EXISTS] 库名;
删除数据库:drop database [IF EXISTS] 库名;
查询数据库创建:show 建库语句; (show create database shujia)
指定数据库采用的字符集:CHARACTER SET
注意:不要修改mysql服务器的编码集,表的编码集默认和库一致

查看当前使用的数据库
select database();

3、建表

格式:
	create table [if not exists] 表名(
		字段1 数据类型 字段属性,
		字段2 数据类型 字段属性,
		...
		字段N 数据类型 字段属性
	)engine=引擎 default charset=编码集;
查看当前数据库:select database();
查看建表语句:show create table 表名;
查看表结构:desc 表名;
删除:drop table [if exists] 表名;

字段属性:

	not null:没给值数据为默认值(varchar默认值为空)
	AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1
	PRIMARY KEY关键字用于定义列为主键,您可以使用多列来定义主键,列间以逗号分隔
	ENGINE 设置存储引擎,CHARSET 设置编码
	default null:没给值数据就是null
	default 值:设置字段的默认值
注意:主键不重复的列

4、修改表结构:alter table

修改表名:alter table 旧表名 to 新表名;
添加字段:alter table 表名 add 字段 字段数据类型 属性;

删除字段:alter table 表名 drop 字段;

修改字段:alter table 表名 change 旧字段 新字段 数据类型 属性;
修改字段:alter table 表名 modify 字段 数据类型 属性;
注意:
	change:修改所有(字段名,数据类型,属性)
	modify:修改一部分(数据类型,属性)
	修改数据类型时,varchar->int元数据会变为0

5、增删改查:字符串全部使用 ’ ’ 单引号包起来

增加
	格式:
		insert into 表名(字段) values(值),(值)...(值);

insert into 表明 set 字段=值。。

	例如:
		insert into stduent(name) values('zs');
		insert into stduent(name) values('zs'),('ls');
删除
	格式:
		delete from 表名 where 子句;
修改
	格式:
		update 表名 set 字段1=值1,字段2=值2...字段N=值N where 子句;

查询
	格式:
		select 字段 from 表名 where 子句;
	注意:
		*表示所有字段

6、as起别名

格式:
	字段 as 名称
注意:
	as 也加可不加

子句:
> < <= >= = <> 大于、小于、大于(小于)等于、不等于
between …and… 显示在某一区间的值(含头含尾)
in(set) 显示在in列表中的值,例:in(100,200)只能匹配100或200
like ‘张_’ 模糊查询 使用% 和 _(%表示匹配所有 _匹配一个)
Is null 判断是否为空 <=>安全等于 判断是否等于

and	多个条件同时成立
or	多个条件任一成立
not	不成立,例:where not(expection>10000);

7、limit分页

格式:
	语句 limit 开始下标,长度;
注意:
	如果数据量不够,显示全部
例如:从下标为0开始显示10条
	select * from stduents limit 0,10;	

8、去重

格式:
	DISTINCT 字段1,字段2...字段N
注意:
	字段不能在DISTINCT之前,只能在DISTINCT后面
	DISTINCT之后有多个字段,按照所有字段进行去重

SELECT DISTINCT work from students;

9、聚合函数

count(字段):求多少行数据
sum(字段):求和
avg(字段):平均数
max(字段):最大值
min(字段):最小值

mod(数字,数字) 取余
length(varchar) 求占用的字节长度
SELECT COUNT(gender) from students;

注意:
	varchar能比较大小,不能获取avg(没有任何意义)
	如果值为Null不参与计算
	sum和avg字段的数据不是数值,结果都是0

你可能感兴趣的:(Dcc03,数据库相关使用学习-原创,sql,big,data,数据库)