【MySQL笔记】基础语法--增删改查排序

登录/退出

mysql -uroot -p123456
quit

创建数据库和表

创建数据库:

create database menageria;

在数据库中创建新表:

 CREATE TABLE pet (name VARCHAR(20),owner VARCHAR(20),
  					species VARCHAR(20), sex CHAR(1), birth DATE);
参数 含义
pet 表的名称
name 20个字符
owner 20个字符
species 20个字符
sex 一个字符
birth 一个日期

显示数据库和表

所有数据库:

show databases;

当前数据库:

select database();

当前数据库下的所有表:

show tables;

显示某个表的标签有哪些:

describe pet;

显示某个表的内容有哪些:

select * from pet;

这里的*是指表中的所有字段


将txt文件中的数据传入数据库

LOAD DATA LOCAL INFILE 'D:/pet.txt' INTO TABLE pet;

如果出现报错ERROR 1148 (42000)可以参考:
https://blog.****.net/AXIMI/article/details/89054799

上传单条数据到数据库

首先看一下表的数据都需要填哪些:
【MySQL笔记】基础语法--增删改查排序
然后使用INSERT上传数据:

mysql> INSERT INTO pet
       VALUES ('Puffball','Diane','hamster','f','1999-03-30');

PS:
txt文件中空缺的数据可以使用"\N"填充
使用insert插入数据时,有空缺的数据可以使用NULL来填充,例如上面的句子还可以写为:

mysql> INSERT INTO pet
       VALUES ('Puffball','Diane','hamster','f',NULL);

修改数据

mysql> UPDATE pet SET birth = '1989-08-31' WHERE name = 'Bowser';

原来的table:
【MySQL笔记】基础语法--增删改查排序
修改完数据之后的table:
【MySQL笔记】基础语法--增删改查排序

查询数据

查询指定数据:

select * from pet where name='Peppi';

模糊查询:

select * from pet where birth>='2000-1-1';

多种条件查询:

select * from pet where sex='f' and birth>='2010-4-5';
mysql> SELECT * FROM pet WHERE (species = 'cat' AND sex = 'm')
       OR (species = 'dog' AND sex = 'f');

查询指定字段的数据:

select name,birth from pet;

【MySQL笔记】基础语法--增删改查排序
去掉重复的数据:

select distinct owner from pet;

【MySQL笔记】基础语法--增删改查排序

排序

按某个字段进行排序(默认是升序):

select name,birth from pet order by birth;

按某个字段进行降序排序:

select name,birth from pet order by birth desc;