Mysql数据库

mysql数据库

关系型数据库

连接数据库,win加R打开root用户进入 mysql -u root -p

库阶段

#查看已有库:
show databases;
#创建库:
create database stu character set utf8;
#查看创建库的语句:
show create database stu;
#查看当前所在库:
select database();
#切换库:
use stu;
#删除库:
drop database stu;

表阶段

#创建表:
create table books (id int primary key auto_increment,title varchar(64) not null,author varchar(32) default "佚名",price float,publication varchar(256),comment text);
#enum用来存储给出的一个值
#set用来存储给出的值中一个或多个值
#约束条件:
#如果你想设置数字为无符号则加上 unsigned。
#如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
#DEFAULT 表示设置一个字段的默认值。
#AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
#PRIMARY KEY关键字用于定义列为主键。主键的值不能重复。

#查看数据表:
show tables;
#查看已有表的字符集:
show create table book;
#查看表结构:
desc book;
#删除表:
drop table book;

数据阶段

#添加数据:
insert into books values (1,"老人与海","海明威","35.8","机械工业出版社","带给你勇气");
#删除表中内容:
delete from book where author = "佚名";
#更新表记录:
update book set publication_date = "2015-10-20" where id = 1;
#查找表中内容:
select * from book where price > 40;
select * from book where publication = "中国邮电出版社" and price < 45;
select * from book where price > 35 and price < 45;
select title,price from book where author = "鲁迅";

字段阶段

#添加字段:
alter table book add publication_date date after price;
#删除字段:
alter table book drop publication_date;
#修改表名:
alter table books rename as book;
#修改数据类型:
alter table book modify publication_date timestamp default now();
#修改字段名:
alter table book change publiaction_date publiaction_time timestamp default now();

其他

#时间查询(interval为函数):
select * from book where publication_date > (curdate() - interval 4 year);
#模糊查询:
select * from book where publication like "%中国%";
#排列查询(默认升序,末尾加desc为降序):
select * from book order by publication_date;
#排列和限制查找:
select * from book order by price desc limit 2;
limit m,n 从第(m+1)条开始,显示n条
#联合查询(不带all会自动删除重复的数据):
select * from class where sex='m' UNION ALL select * from class_1 where age > 9;

字符类型:

char()定长  varchar()变长  text  blob
varchar预留1-2字节 用于存储当前字段实际存储的数据长度  
枚举类型:
enum()  set()
#日期时间类型:
date  datetime  timestamp  time  year
#每个表都要带
created_time - datetime
updated_time - datetime
#日期时间函数:
NOW()  CURDATE()  CURTIME()  YEAR(字段名)
#日期时间运算:
select * from 表名 where 字段名 运算符(NOW()-interval 间隔);
select * from user_pay where created_time <(NOW()-interval 1 year);

查询顺序

1、where ...
2、group by ...
3、select ...聚合函数 from 表名4、having ...
5、order by ...
6、limit ...;

聚合函数

avg(字段名)        该字段的平均值       
max(字段名)        该字段的最大值       
min(字段名)        该字段的最小值       
sum(字段名)        该字段所有记录的和   
count(字段名)      count(*)可统计所有数据,包括值为null  统计该字段记录的个数 
group by  给查询的结果进行分组
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值