一、mysql 数据库的操作:sql语句最后需要有分号;结尾
-
创建数据库:create database 数据库名 charset=utf8; 例如:create database teacher charset=utf8;
-
查看当前使用的数据库:select database();
-
查看所有数据库:show databases;
-
查看创建数据库的语句:show create database ....
-
使用数据库:use 数据库的名字;
-
删除数据库:drop database 数据库名;
二、数据表的操作
-
查看当前数据库中所有表:show tables;
-
查看表结构:desc 数据表的名字;
-
创建表:create table 数据表名字 (字段 类型 约束[, 字段 类型 约束]);
int unsigned 无符号整形
auto_increment 表示自动增长
not null 表示不能为空
primary key 表示主键
default 默认值
例如:创建 students 表(id、name、age、high (decimal)、gender (enum)、cls_id)
create table students (
id int unsigned primary key not null auto_increment,
name varchar(20) not null,
age int unsigned,
high decimal(5,2),
gender enum("男","女","中性","保密") default "保密",
cls_id int unsigned
);
-
查看表的创建语句:show create table 表名字;
-
修改表-添加字段:alter table 表名 add 列名 类型; 例如:
alter table students add favor varchar(20) default "学习";
-
修改表-修改字段:不重命名版:alter table 表名 modify 列名 类型及约束; 例如:
alter table students modify favor varchar(20) default "考试";
-
修改表-修改字段:重命名版:alter table 表名 change 原名 新名 类型及约束; 例如:
alter table students change favor aihao varchar(20) default "学习";
-
修改表-删除字段:alter table 表名 drop 列名; 例如:
alter table students drop favor;
-
删除表:drop table 表名;
拓展:删除数据库也是drop:drop database 数据库名;
drop可以用于删除列,表,数据库
三、数据的增删改查(curd:create,update,retrieve读取,delete)
-
增加-全列插入:insert into 表名 values(...)
例如:向students表插入 几个学生信息
insert into students values (1,'list',18,178,'男',001);
主键字段 可以用 0 null default 来占位,我们说 id 是自动增长的,那我们就可以不填值,填0 或者 null 或者 default 来指定,枚举类型,如果数据量很多的情况下,我们可以直接使用我们要填充值的序号,例如这里是2,如何这里,你不想填,填 0 ,填 null 都不行,怎么填呢,填 default,这时候才会取默认值
-
增加-部分插入:insert into 表名(列1,...) values(值1,...)
例如:insert into students(name) values('老李')
-
增加-多行插入:insert into 表名 values(...),(...)
例如:一次性插入两个人的数据
insert into students values(0,'赵六',18,186,'男',002),(0,'老七',18,186,'男',002);
-
修改:update 表名 set 列1=值1,列2=值2... where 条件;
全部修改
update students set gender='中性';
按条件修改
update students set gender='女' where id=2;
-
删除-物理删除:delete from 表名 where 条件
例如:delete from students where id=1;
-
删除-逻辑删除(本质上是修改update)
用一个字段is_delete来表示这条信息是否已经不能再使用了
给students表添加一个 is_delete 字段 bit 类型
我们一般不会用这种删除,上面是物理删除,一般我们是不会直接删除数据,而是通过一个标志位来判断数据是否删除,所以我们先给这个增加一个字段,默认值位0,表示没有被删除,bit 正好可以表示0,1,最小的单位
alter table students add is_delete bit default 0;
这个 bit 类型的0 不会显示出来,包括1显示的格式也不一样,因为类型不一样。
update students set is_delete=1 where id=3;
-
查询-所有列:select * from 表名;
-
查询-按一定条件查询:select * from where gender='中性';
-
查询-指定列:select 列1,列2,... from 表名;
-
指定别名:使用as为列或表指定别名:select 字段[as 别名] , 字段[as 别名] from 数据表 where ....;
select name as "姓名" ,gender as "性别" from students;