增删改查
增 | insert |
---|---|
删 | delete |
改 | update |
查 | select / show |
常见语句命令
- 进入mysql 命令行:
mysql -uroot -p;
- 查看所有库:
show databases;
- 创建库:
create database niu charset utf8;
- 删除库:
drop database niu;
- 进入库:
use databases;
- 查看所有表:
show tables;
- 查看创建数据库的语句:
show create database databasename;
- 查看创建表的语句:
show create table tablename;
- 查看表结构:
desc tablenmae;
常见字段含义
auto_increment | 自增长 |
---|---|
not null | 非空 |
default | 默认值 |
unique | 唯一 |
charset | 指定字符集 |
primary key | 主键 |
常用备份命令
-
备份db1数据库中所有表(包括表结构和数据,不包括创建db1数据库的语句)
mysqldump -h192.168.1.10 -uroot -p db1 > xxx.sql
-
备份db1数据库中所有表(包括表结构和数据,包括创建db1数据库的语句)
mysqldump -h192.168.1.10 -uroot -p --databases db1 > xxx.sql
-
备份db1数据库中t1、t2、t3表(包括表结构和数据,不包括创建db1数据库的语句)
mysqldump -h192.168.1.10 -uroot -p db1 t1 t2 t3 > xxx.sql
-
备份多个(db1、db2)数据库(包括建库语句和所有表的结构和数据)
mysqldump -h192.168.1.10 -uroot -p --databases db1 db2 > xxx.sql
-
备份所有数据库(包括建库语句和所有表的结构和数据)
mysqldump -h192.168.1.10 -uroot -p --all-databases > xxx.sql
-
备份db1数据库中所有表结构(只包括表结构,加-d参数)
mysqldump -h192.168.1.10 -uroot -p -d db1 > xxx.sql
-
备份db1数据库中t1、t2、t3表结构(只包括表结构,加-d参数)
mysqldump -h192.168.1.10 -uroot -p -d db1 t1 t2 t3 > xxx.sql
-
备份db1数据库中所有表数据(只包括表数据,加-t参数)
mysqldump -h192.168.1.10 -uroot -p -t db1 > xxx.sql
-
备份db1数据库中t1、t2、t3表数据(只包括表数据,加-t参数)
mysqldump -h192.168.1.10 -uroot -p -t db1 t1 t2 t3 > xxx.sql
库操作
-
创建数据库:
create database mydb1;
-
显示数据库:
show databases;
-
删除数据库:
drop database mydb1;
-
修改数据库编码:
alter database mydb1 character set mydb11;
表操作
-
创建数据库表(创建一个表名为:mytab,该表中含有id、name、sex、birthday、job字段):
create table mytab ( id int, name varchar(40), sex char(4), birthday date, job varchar(100), );
-
表中增加image字段:
alter table mytab add image blob;
-
修改job值,使其长度为60(原长度为100):
alter table mytab modify job varchar(60);
-
删除sex列:
alter table mytab drop sex;
-
表名改为user(原名mytab):
rename table mytab to user;
-
修改表的字符集为utf-8:
alter table user character set utf8;
-
列name修改为username:
alter table user change column name username varchar(100);
-
删除表:
drop table user;
实例
-
新建表employee:
create table employee ( id int, name varchar(40), sex varchar(4), birthday date, entry_date date, salary decimal(8,2), resume text );
-
插入表数据
insert into employee(id,name,sex,birthday,entry_date,salary,resume) values(1,'zhangsan','male','1999-09-09','2019-09-09','9000','i am a Ops');
- 指定某些列插入数据:
insert into employee(id) values(6);
- 插入汉字:
insert into employee(id,name) values(6,'张三');
- 指定某些列插入数据:
修改表数据
-
将所有员工薪水修改为5000元:
update employee set salary=5000;
-
将姓名为’zhangsan’的员工薪水修改为3000元:
update employee set salary=3000 where name='zhangsan';
-
将姓名为’张三’的员工薪水修改为4000元,job改为ccc:
update employee set salary=4000,job='ccc' where name='张三';
-
将’wu’的薪水在原有基础上增加1000元:
update employee set salary=salary+1000 where name='wu';
删除表数据
-
删除表中名称为“zhangsan”的记录:
delete from employee where name='zhangsan';
-
删除表中所有记录:
delete from employee;
查询表数据
-
查询表中所有学生的信息:
select * from student;
-
查询表中所有学生的姓名和对应的英语成绩:
select name,english from student;
-
查询姓名为wu的所有信息:
select * from student where name='wu';
-
查询英语成绩大于90分的同学:
select * from student where english>'90';
-
查询英语分数在 80-90之间的同学:
select * from student where english>=80 and english=<90;