链接数据库
mysql -uroot -p
退出数据库
exit/quit
查看所有数据库
show databases;
显示时间
select now();
显示数据库版本
select version();
创建数据库 Mall 为数据库名
create database Mall;
指定格式创建数据库
create database Mallnew charset=utf8;
查看创建数据库的语句
show create database Mall;
查看指定数据的语句
show create database Mallnew;
删除数据
drop database Mall;
查看当前使用的数据库
select database();
使用数据库- use 数据库的名字
use Mallnew;
数据表的操作
查看当前数据库中所有的表
show tables;
创建classes表(id,name) menu是表单名
create table menu(id int,name varchar(30));
查看表结构 desc 数据表的名字
desc menu;
creata table 数据表名字(字段 类型 约束 [,字段 类型 约束]);
create table menu_a(id int primary key not null auto_increment ,name varchar(30));
创建students表(id,name,age,high,gender,cls_id)
create table students(id int unsigned not null auto_increment primary key,name varchar(30),age tinyint unsigned default 0,high decimal(5,2),gender enum("男","女","保密"),cls_id int unsigned);
插入数据
insert into students values(0,"老王",18,175,"男",0);
查看插入是否成功
select * from students;
创建classes表(id,name)
create table classes(id int unsigned not null auto_increment primary key,name varchar(30));
插入数据
insert into classes values(0,"c++班");
查看数据是否成功
select * from classes;
查看表的创建语句
alter table 表名 add 列名 类型:
alter table students add birthday datetime;
修改表-修改字段:不重命名版
alter table 表名 modify 列名 类型及约束;
alter table students modify birthday date;
修改表-修改字段;重命名字段
alter table 表名 change 原名 新名 类型及约束;
alter table students change birthday birth date dafault "2020-01-01";
修改表-删除字段
alter table 表名 drop 列名
alter table studemts drop high;
删除表
drop table 表名;
drop database 数据库;
drop table 数据表;
drop table menu_a;
增删改查
增加
全列插入
insert [into] 表名values(...)
主键字段可以用0 null default 来占位
向classes 表中插入一个班级
insert into classes values(0,"java班");
向students表插入一个学生信息
insert into students values(0,"师哥",20,"男",1,"1990-01-02");
insert into students values(null,"师哥",20,"男",1,"1990-01-02");
insert into students values(default,"师哥",20,"男",1,"1990-01-02");
枚举中的下标从1 开始 1-"男" 2-"女"
insert into students values(default,"钟离眜",20,1,1,"1990-01-02");
部分插入
insert into 表名(列1。。)values(值1。。)
insert into students (name,gender) valuse ("天明",2);
多行插入
insert into students (name,gender) values ("小月",2),("白凤",2);
insert into students values(default,"大铁锤",20,"女",1,"1990-01-01"),(default,"墨子",20,"男",1,"2020-01-01");
修改
update 表名 set 列1=值1,列2=值2。。where 条件:
update students set gender=1; 全部都改
update students set gender=1 where name="钟离眜"; 只要name是钟离眜的全部都修改
update students set gender=1 where id=3; 只要id为3的进行修改
update students set age=22,gender=1 where id=3; 只要id为3的进行修改
查询基本使用
查询所有列
select * from 表名;
select * from students;
定条件查询
select * from students where name="老王"; 查询name为老王的所有信息
select * from students where id>3; 查询name为钟离眜的所有信息
查询指定列
select 列1,列2... from 表名;
select name,gender from students;
字段的顺序
可以使用as为列或表指定别名
select 字段[as 别名],字段[as 别名] from 数据库 where。。。;
select name as 姓名,gender as 性别 from students;
字段的顺序
select id as 序号,gender as 性别,name as 姓名 from students;
删除
物理删除
delete from 表名 where 条件
delete from students; 整个数据表中的所有数据全部删除
delete from students where name="老王";
逻辑删除
用一个字段来表示这条信息是否已经不能在用了
给students表添加一个is_delete字段 bit 类型
alter table students add is_delete bit default 0;
update students set is_delete=1 where id=6; 假性删除
https://www.linuxidc.com/Linux/2018-05/152413.htm