数据库笔记(1)最基本应用

数据库的操作

  • 显示数据库版本
select version();
  • 显示时间
select now()
  • 查看所有的数据库
SHOW DATABASES;

ALT

  • 创建数据库
    create database 数据库名 charset=utf8;#不加charset=utf8会变成拉丁编码
create database python01 charset=utf8;
  • 查看创建数据库的语句
    show create database …
show create abase python01;
  • 查看当前使用的数据库
select database();
  • 使用数据库
    use 数据库的名字 ;
use python_1;

删除数据库(忘了他。。。)
drop database 数据库名;

drop database python01;

数据表的操作

  • 查看当前数据库中的所有表
show tables
  • 创建表
    auto_increament表示自动增长
    not null 表示不能为空
    primary key 表示主键
    default 默认值
    create table 数据表的名字(字段,类型,约束)
create table xxxxx(id int,name varchar(30));
create table yyyyy(id int primary key not null auto_increment,name varchar(30));

在这里插入图片描述
1
在这里插入图片描述

  • desc 数据表的名字
desc xxxxx;
  • 创建student表(id、name、age、high、gender、cls_id)
create table student(
    id int unsigned not null auto_increment primary key,
    name varchar(30),
    age tinyint unsigned default 0,
    high decimal(5,2),
    gender enum("男","女","中性","保密") default "保密",
    cls_id int unsigned
       );

在这里插入图片描述
#插入一行并查看

insert into student values(0,"男",18,188.88,"男",0);##名字写成男啦,后面再修改吧
select * from students;

在这里插入图片描述

  • (练习一下)创建classes表(id,name)
create table  classes(
     id int unsigned not null auto_increment primary key,
     name varchar(30)
     );
  • 查看表的创建语句
    show create table 表名字;
show create table student;


引擎用InnoDB主要是因为支持事务处理与外键和行级锁

  • 查看表的结构
  • 修改表-添加字段(add)
alter table 表名 add 列名 类型;
例:#datatime类型
alter table student add birthday datetime ;
  • 修改表-修改字段:不重命名版
alter table 表名 modify 列名  类型及约束;
例:#不修改列名,将格式改为date
alter table student modify birthday date;
  • 修改表-修改字段:重命名版
alter table 表名 change 原名 新名  类型及约束;
例:将birthday改为brith,并默认值为"2000-01-01"
alter table student change birthday brith date default "2000-01-01";
  • 修改表-删除字段
alter table 表名 drop 列名;
alter table student drop high;
  • 删除表(忘记这个命令。。。)
    drop databases 数据库;
    drop table 数据表;
drop table xxxxx;

数据的增删改查(curd)

增加

  • 全列插入
    insert [into] 表名 values(…)
    主键字段可以用 0 null default 来占位
  • 向classes表中插入一个班级
insert into classes value(0,"菜鸟班");

在这里插入图片描述

  • 向student表中插入一个学生信息
#都可以成功,有几列必须写几列,顺序不能错
insert into student values(0,"小李飞刀",20,"男",1,"1990-01-01");
insert into student values(null,"小李飞刀",20,"男",1,"1990-01-01");
insert into student values(default,"小李飞刀",20,"男",1,"1990-01-01");
# 失败,因为性别里没有第4性别
 insert into student values(default,"小李飞刀",20,"第4性别",1,"1990-01-01");
# 枚举中的下标从1开始,1-->"男"  2-->"女"...
 insert into student values(default,"小李飞刀",20,1,1,"1990-01-01");

现在表格中的数据现在表格中的数据

  • 部分插入
    insert into 表名 (列1,…) values(值1,…)
insert into student (name,gender) value("小乔",2);

在这里插入图片描述

  • 多行插入
 insert into student (name,gender) value("大乔",2),("貂蝉",2);
 insert into student values(0,"西施",20,"女",1,"1990-01-01"),(0,"王昭君",20,"女",1,"1990-01-01");

修改

  • update 表名 set 列1=值1,列2=值2,…where 条件;
 update student set gender=1;   #全部修改
 update student set gender=1 where name="小李飞刀";  #只要name是小李飞刀的  全部修改  
 update student set gender=1 where id=3;  #只要id为3的  进行修改 
 update student set age=20,gender=1 where id=3;  #只要id为3的  进行修改 
 #还记得第一行姓名是男吗,现在修改一下
 update  student set name="老王" where id=1;

在这里插入图片描述

扫描二维码关注公众号,回复: 6224678 查看本文章

查询

  • 查询所有列
 select * from student;  #select * from 表名;*代表查询所有列
  • 定条件查询
 select * from student where name="小李飞刀";  #查询name为小李飞刀的所有信息
 select * from student where id>3;  #查询id>3的所有信息

在这里插入图片描述

  • 查询指定列
 #select 列1,列2,,from 表名;
 select name,gender from student;

在这里插入图片描述

  • 可以使用as为列或表指定别名
 #select 字段[as 别名],字段[as 别名] from 数据表 where ....;
 select name as 姓名,gender as 性别 from student;
  • 字段的顺序
 select id as 序号, gender as 性别,name as 姓名 from student;

删除

  • 物理删除(删了就没啦)
delete from student;#整个数据表中所有数据全部删除
delete from student where name="小李飞刀";
  • 逻辑删除
    用一个字段表示 这条信息是否已经不能再使用了
例:#给student表中添加一个is_delete字段  bit类型 (只能存两个字节)
alter table student add is_delete bit default 0;
update student set is_delete=1 where id=9;

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44282382/article/details/90020165
今日推荐