MySQL基本操作
数据库操作
链接数据库
- mysql -u用户名 -p密码
退出数据库
- exit/quit/ctrl+d
显示数据库版本
1 | select version(); |
显示时间
1 | selecct now(); |
查看所有数据库
1 | show databases; |
创建数据库
- create database 数据库名 (charset=utf-8);
1
2create database mydatabase;
create database mydatabase charset=utf-8;
查看创建数据库的语句
- show create database 数据库名
1
show create database mydatabase;
查看当前使用的数据库
1 | select database(); |
使用数据库
- use 数据库名
1
use mydatabase
删除数据库
- drop database 数据库名
1
drop database mydatabase;
数据表的操作
查看当前数据库中所有表
1 | show tables; |
创建表
- create table 数据表名字([字段,类型,约束],…)
1
2
3create table students(id int primary key auto_increment,
name varchar(30) not null,
age int);
查看表结构
- desc 表名;
1
desc students;
查看表的创建语句
- show create table 表名字;
1
show create table students;
修改表-添加字段
- alter table 表名 add 列名 类型;
1
alter table students add birthday datetime;
修改表-修改字段:不重命名版
- alter table 表名 modify 列名 类型及约束
1
alter table students modify birthday date;
修改表-修改字段:重命名版
- alter table 表名 change 原名 新名 类型及约束;
1
alter table students change birthday birth date dafault "2001-01-01"
修改表-删除字段
- alter table 表名 drop 列名;
1
alter table students drop age;
删除表
- drop table 表名
1
drop table students;
数据库增删改查(curd)
增加
全列插入
- insert into 表名 values(…);
1
insert into students values(0,"小王","1991-02-14");
部分插入
- insert into 表名 (列1,…) values(列1值,…);
1
insert into students (name,birth) values("小张","1993-12-22");
多行插入
- insert into 表名 (列1,…) values(列1值,…),(列1值,…)…;
- insert into 表名 values(列1值,…),(列1值,…)…;
1
2insert into students (name) values("小红"),("小李");
insert into students values(default,"大张",default),(default,"大王",default);
修改
- update 表名 set 列1=值1,列2=值2…where 条件;
1
update students set name="蜘蛛侠",birth="2018-11-04" where id=3;
查询基本使用
查询所有列
- select * from 表名
1
select * from students;
按条件查询
- select * from 表名 where 条件;
1
select * from students where name="蜘蛛侠";
查询指定列
- select 列1,列2,… from 表名;
1
select id,name from students;
查询定别名
- select 字段 as 别名,字段 as 别名… from 表名;
1
select name as 姓名, birth as 生日 from students;
删除
物理删除
- delete from 表名 where 条件;
1
2delete from students;
delete from students where name="蜘蛛侠";
逻辑删除
- 使用一个字段来表示这条信息已经不能使用了,查询时候加上已经删除的不查询
1
2alter table students add is_delete bit default 0;
update students set is_delete=1 where id=6;