数据分析学习课程1-----SQL------Day1

Day1 文件 数据表 数据行操作

操作文件夹

增加 create database db1 default charset utf8

展示 show databases

删除 drop database db1

操作表

创建表

create table t1(id int ,name char(10))  engine = innodb  fdefault charset utf8

create table t1(

列名  类型   null---可以为空

列名  类型   notnull---不可以为空

列名 类型     notnull default1 auto_increment  primary key ------默认值是1 自增

) engine = innodb  fdefault charset utf8

注:引擎 innodb 支持事物原子性操作,primary key表示主键 (不能重复不能为空)加速查找

清空表:

delete from t3;

truncate table t3;

注:二者的区别 delete 表后自增的数字会按照删除之前的继续增加,但是truncate 表后自增数字会从0开始

删除表:

drop table t1

查看表:

select* from t1

对数据行进行操作

插入数据:insert into t1(id,name) values (1,'root1'),(2,'root2')

                  insert into t1(name,age) selct name,age from tb1   

删除数据:delete from t1 where id<6

                   delete from t1 where id!=2 and name='root1'                      

                    delete from t1 where id!=2 or name='root1'

修改数据:update t1 set age =18 where age =17

                   update tb1 set name='root1',age=19 where id>12 and name='root2'

查看数据: select* from t1

                    select id,name from t1

                    select id,name from t1 where id>10 or name='xxx'

                    select name,age from tb2

                     select * from t1 where id in(1,5,7)

                     select * from t1 where id not in(1,5,7)

                     select * from t1 where id between 1and 7

                     select * from t1 where id in(select id from t1)

通配符: ‘%’ 表示后面有多个字符  ‘_'表示后面有1个字符

                     select * from t1 where name like ' ale%'     ---ale开头的所有的单词

                     select * from t1 where name like ' ale-'     ---ale后面只有一个字符开头的所有的单词

                     select * from t1 limite 10 取前面10天数据(用于排名后取前几名)

                     select * from t1 limite 2,4 从第二个数据后取后面两条

                     select * from t1 limite 1 offset2   取从第2条数据开始后面取1条

                     如果想区数据后10个,可以先将数据反转再用limite

 数据类型:数字类型 字符类型 时间类型

数字类型:

int

bigint

tinyint

小数

float

Double

decimal (最精准,储存用它,因为底层逻辑是按字符串储存的)

num decimal(10,5)(总位数10,小数点后最多有5位)

字符类型:

char(长度)

varchar(长度)

注: char和varchar的区别   定义char(10)  若插入数据'root'虽然只有4个字符但是计算机会自动补上后面6位一共沾满10个字符

        定义 varchar(10)  插入数据'root' 仅占四个字符可以节省空间,但查找起来没有char快

text  特点:常 

enum  枚举类型    出入其中一个

Create table thirts(

Name varchhar(40),

Size enum(‘xs’,’s’,’m’,’l’,xl’));

Insert into shirts(name,size)values(‘adidas’,’xl’)  

set 集合 

Create table myset(

Name varchar(40),

Col set (‘r’,’b’,’g’,’p’)

Insert into shirts(name,col) values(‘adidas’,’a’)

Insert into shirts(name,col) values(‘adidas’,’r,b,p’)

注: enum 和set之间的区别 enum插入数据时之能插入其中1个,set可以插入其中一个或者其中的任意组合

时间类型:

date YYYY-MM-DD

time

year

datetimeYYYY-MM-DD HH:MM:SS

timestamp 时间戳格式:从1970年1月1日(UTC)以来的秒数

将时间戳timestamp格式改成datetime格式:

SELECT FROM_UNIXTIME(unix_timestamp_column) AS readable_datetime  

对于date数据取年月日 y=year(date) m=month(date) d=day(date)

找到这个月份的数据  month(date)=month(now())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值