初识MySQL

基本操作方法

创建数据库:

1.CREATE DATABASE [IF NOT EXISTS] db_name
IF NOT EXISTS 如果不加,当要创建的数据库存在时就会报错
2.设置两个参数
[DEFAULT] CHARACTER SET charset_name
[DEFAULT]COLLATE collation_name

CHARACTER SET:指定数据库采用的字符集,如果不指定字符,默认utf-8
COLLATE:指定数据库字符集的校对规则(常用的 utf8_bin【区分大小写】,utf_general_ci【不区分大小写】 注意默认是utf8_general_ci)

删除数据库:

DROP DATABASE [IF EXISTS] db_name;

查看数据库有哪些

SHOW DATABASES

显示数据库创建语句:

SHOW CREATE DATABASE db_name

在创建数据库,表的时候,为了规避关键字,可以用反引号(1的左边)解决

备份和恢复数据库(暂时未学)

创建表:

CREATE TABLE table_name(
field1 datatype,
field2 datatupe
)character set 字符集 collate 校对规则 engine 引擎
filed:指定列名
datatype:指定列类型(字段类型)
character set:如不指定则为所在数据库字符集
collate:如不指定则为所在数据库校对规则
engin:(后面学)

修改表:
添加列:

ALTER TABLE tablename
ADD (column datatype [DEFAULT expr]
[,column datatype]…);

修改列

ALTER TABLE tablename
MODIFY (column datatype [DEFAULT expr]
[,column datatype]…);

 如果想在一个已经建好的表中添加一列,可以用以下代码:
alter table 表名 add column 列名 varchar(20) not null;
这条语句会向已有的表中加入一列,这一列在表的最后一列位置。如果我们希望添加在指定的一列,可以用:

alter table 表名 add column 列名 varchar(20) not null after user1;
注意,上面这个命令的意思是说添加addr列到user1这一列后面。如果想添加到第一列的话,可以用:
alter table 表名 add column 列名 varchar(20) not null first;

将表yusheng中,列名def改为unit
alter table yusheng change  def unit char;

将表yusheng中,列名def的列删除
alter table yusheng drop column def ;
删除列:

ALTER TABLE tablename
DROP (column);

查看表结构:desc 表名;–可以查看表所有的列
修改表名:Rename table 表名 to 新表名
修改表字符集:alter table 表名 character set 字符集;

Mysql数据类型(专指列类型/字段类型)

常用数据类型
1.数值类型
整型:tinyint[1字节] smallint[2个字节]mediumint[3个字节] int[4个字节] bigint[8个字节]
如果没有指定 unsinged,则为有符号数据
小数类型:float[单精度 4个字节] double[双精度 8个字节decimal[M(长度),D(小数点精确到多少位)] [大小不确定]
M最大为65,D最大为30,如果D被省略默认是0,就是没有小数位数
2.文本,字符串类型
char 0-255
varchar0-65535[0~2^16-1]
text 0~2^16-1

longtext 0~2^32-1
3.二进制类型
blob[0~2^16-1]
longblob[]0~2^32-1]
4.日期类型
data 【年月日】
time 【时分秒】
datetime【年月日 时分秒】 [YYYY-MM-DD hh:mm:ss]
timestamp[时间戳]

数据库C,R,U,D语句
1.Insert 添加数据

INSERT INTO table_name[(column[,column…])]
VALUES (value[,]value…)

insert into t1
-> values(123,'欧阳');
2.Update 更新数据

UPDATE tbl_name
SET col_name1=expr1[,col_name2=expr2…]
[WHERE where_definition]
如果没有where则会修改所有的记录

3.Delete 删除数据

delete from tb1_name
[WHERE where_definition]

4.Select 查找数据

单表:
SELECT [DISTINCT] *|{column1,column2,column3…}
FROM tablename;
在这里插入图片描述

使用表达式对查询的列进行运算

SELECT *|{column1 | expression, column2 | expression,…}
FROM table_name;

在selec语句中可以使用as语句

SELECT columnname as 别名 from 表名;
请添加图片描述

运算符

在这里插入图片描述

使用Order by 子句排序查询结果

SELECT column1,column2,column3…
FROM table;
order by column asc|desc…
1 ORDER BY 指定排序的列,排序的列既可以是表中的列名,也可以是select语句后指定的列明请添加图片描述

2 ASC升序默认,DESC降序
3 ORDER BY 子句应位于SELECT语句的结尾

统计函数 count

Count 返回行的总数
select count(*)|count(列名) from tablename
[WHERE where_definition]请添加图片描述
count(*) 和count(列的区别)
count(*)返回满足条件的记录的行数
count(列):统计满足条件的某列有多少个,但是会排除为空的情况

合计函数 sum

Sum函数返回满足where条件的行的和 一般使用在数值列
select sum(列名){,sum(列名)…}from tablename
[WHERE where_definition]
AVG(平均分)
MAX,MIN
请添加图片描述

分组统计

使用group by 子句对列进行分组
SELECT column1,column2,column3…FROM table
group by coumn
使用having 子句对分组后的结果进行过滤
SELECT column1,column2,column3…
FROM table
group by column having…

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值