数据库

数据库

库操作

1. 创建数据库

create database 数据库名 库选项;

库选项:字符集,校对集
举例:

create database hello01 charset utf8;

2. 查询所有数据库

show databases;

3. 查看数据库创建语句

show create database hello01;

4. 修改数据库的字符集和校对集

alter database hello01 charset = utf8 collate = utf8_general_ci;

5. 删除数据库

drop datebase hello01;

6. 选择数据库

use hello01;

表操作

1. 创建表

create table 表名(
字段名称1 字段属性(类型)字段选项,
字段名称2 字段属性 字段选项,
……
)表选项;
  • 表选项:
    字符集和数据引擎
    字符集:charset = utf8;
    数据引擎:默认:innodb, 语法:engine =引擎

  • 字段名称:创建表中表中的数据的数据的名称,用户自定义就好了但是使用单词。

  • 字段类型:当前字段中数据存储类型,必须是一开始指定好的。

  • 整数:int ,small int , tiny int
    小数:float :范围大约是-3.4E+38到-1.1E-38,0,和1.1E-38到3.4E+38。dacimal(定点型): decimal(10,2):长度十位,其中小数位两位。

  • 字符串
    char:最大255 ,varchar:65532 _text:无限制
    var和varchar的区别:定长型和变长型

  • 日期时间:date类型:支持的范围是‘1000-01-01’到‘9999-12-31’
    ————datetime类型:支持的范围是‘1000-01-01 00:00:00’到‘9999-12-31 23:59:59’

  • 字段选项:
    设置当前字段的一些选项—是否可以为空,是否是主键,是否是唯一键,是否加备注等
    null/not null,是否可以为空
    default,是否有默认值
    auto_increment,是否可以自动增长,必须是数字,如需要给每条数据加一个编号原因是数据内的内容可以重复,但是 编号不可以重复。
    primary key:设置主键。数据内容不能重复,在查数据主查询条件时一个表中一个主键,一般都是id.
    unique key:设定为唯一键,即表中所有行的数据在该字段的值不能有重复。
    comment:设置备注,给当前字段设置说明。
    举例:

create table hello_stu(
id int not nul auto_increment primary key comment 'id号',
name varchar(10) not null default '' comment '姓名',
age ine not null defaut 0 comment '年龄',
sex varchar(5) not null default '女' comment '性别'
)charset utf8 engine = innodb;

2. 修改表

  • 添加字段:alter table 表名 add [column] 新字段名 字段类型 [字段属性列表];
  • 修改字段(井可改名):alter table 表名 change[column]旧字段名 新字段名 新字段类型[新字段类型属性表];
  • 修改字段(只改属性):alter table 表名 modify[column] 字段名 新字段类型 [新字段属性列表];
  • 修改字段名:非常抱歉没有单纯的修改字段名这个操作。
  • 删除字段:alter table 表名 drop [column] 字段名;
  • 添加普通索引:alter table 表名 add index[索引名](字段名1[,字段名2,……];
  • 添加主键索引(约束):alter table 表名 add primary key(字段名1[,字段名2,……];
  • 添加外键索引(约束):alter table 表名 add foreign key(字段名1[,字段名2,……])references 表名2 (字段名1[,字段名2,……]);
  • 添加唯一索引(约束):alter table 表名 add unique(字段名1[,字段名2,……]);
  • 添加字段默认值(约束):alter table 表名 alter[column] 字段名 set default 默认值;
  • 删除字段默认值(约束):alter table 表名 alter[column] 字段名 drop default
  • 删除主键:alter table 表名 drop primary key;#每一个表最多只能有一个主键
  • 删除外键:alter table 表名 drop fireign key 外键名;
  • 删除索引:alter table 表名 drop index 索引名;
  • 修改表名:alter table 表名 rename [to] 新表名;
  • 修改表选项:alter table 表名 选项名1=选项值1,选项名2=选项值2……;

3. 删除表

 drop table [if exists]   表名;

数据的操作

1. 插入数据
语句:insert into 表名(字段1,字段2,字段3,……)values(值1,值2,值3,……);
一次性插入多条数据:insert into 表名 (字段列表)values(第一条数据),(第二条数据),……;
举例:

insert into hello01_stu(id,name.age,sex)  values
(null,'王丽',12,'女'),
(null,'王一',17,'男'),
(null,'田甜',22,'女'),
(null,'刘梦',20,'女'),
(null,'周小',18,'男'),
(null,'陈晨',16,'男');

字段列表可以省略,省略后的数据必须对应上创建时的字段数据:

insert into hello01_sttu values(null,'刘梦雨',26,'女');

字段列表可以选择性的写:写几个后面的数据必须是一一对应。

insert into hello01_sttu(age) value(21);

2. 删除数据:
语句:delete from 表名[where 条件][order排序][limit限定];
where 条件必须添加否则删除所有数据,建议是id,原因是id具有唯一性,删除大范围的数据。
order:当前表示正序还是倒序,不用添加,默认就可以了。
limit:限定范围,不用添加。

3. 修改数据:

update 表名 set 字段名1=值表达式1,字段名2=值表达式2,……where 条件;

4. 查询数据:

语句:select 字段列表 [from 子句] 表名[where 子句] [group by 子句] [having 子句][order by 子句][limit 子句] ;
查询所有的数据和字段:select * from 表名;
基础查询——查询某些字段

 select name,age,sex from 表名;

基础查询——查询别名——小名
如:查询数据的数据量——字段名 as 别名:

select count(id) as total from hello01_stu;
  • like模糊查询:
    字段名 like ‘要查询的字符’;如果是直接写字符,配置查询字符必须一致。
    字段名 like ‘%要查询的字符%’;%是匹配任何字符。
    举例:
set * from hello01_stu where name like '马六';
  • group by分组:
    注意:分组只能是分组后的数量而不能是分组后的组里信息。
    select字段或聚合数据(函数)from 表名 group by 分组字段。
    常用聚合函数有:取平均值avg(),取个数count(),取总数sum(),取最大值max(),取最小值min().
    举例:
select count(sex) from hello01_stu group by sex;

select count(sex) as sexnum from hello01_stu group by sex having sexnum;
  • order by排序:
    分:正序(asc)和倒序(desc)
    举例:
select *from 表名  where order by asc/desc;
  • limit:分页查询:
    语句:limit0,3; limit 3,3; limit 6,3;
    说明:第一个数时开始数据的下标,第二个数是每次显示的数量。
select * from hello01_stu limit 0,3;

创建好了数据库,表,添加好了数据,我们就可以操作数据库,获得里面的数据啦,O(∩_∩)O哈哈~。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值