数据库操作
登陆
mysql -uroot -p
远程连接
mysql -hip地址 -uroot -p
创建
create database 数据名 charset=utf8;
删除
drop database 数据库名;
展示
select database();
show databases;
修改
use test;
表操作
show tables;
创建表
create table 表名(列及类型);
ex:
create table students(
id int auto_increment primary key,
sname varchar(10) not null
);
修改表
alter table 表名 add|change|drop 列名 类型;
ex: alter table studnets add birthday datetime;
查看表的结构
desc 表名;
删除表
drop table 表名;
更改表名称
rename table 原表名 to 新表名;
查看表的创建语句
show create table 表名;
数据操作
查
select * from 表名
ex:
select * from students;
select id,name from students;
- 消除重复行
select distinct value from 表名
- 条件Where
select * from 表名 where id>3;
- 模糊查询
- like
- %表示任意多个任意字符
- _表示一个任意字符
ex:
select * from students where name like '黄%';
select * from students where name like '黄_';
select * from students where name like '黄%' or name like '%杰%';
- 范围查询
- in(a,b,c) 表示在一个非连续的范围内,查询的编号是a或b或c的学生
- between...and...表示在一个连续的范围内查询从...到...
ex:
select * from students where id in(1,3,8);
增
全列增加
insert into 表名 values(...)
缺省插入
insert into 表名(列1,...) values(值1,...)
同时插入多条数据(Mysql特有的)
insert into 表名 values(...),(...)...;
or insert into 表名(列1,...) values(值1,...),(值2,...)...;
改
update 表名 set 列1=值1,... where 条件
删
delete from 表名 where 条件
逻辑删除,本质就是update
alter table students add isdelete bit default 0;
update students isdelete=1 where ...;
数据备份
sudo -s
cd /var/lib/mysql
mysqldump -uroot -p 数据库名 > -/Desktop/备份文件.sql;
数据恢复
mysql -uroot -p 数据库名 < ~/Desktop/备份文件.sql