MySQL数据库的基础操作

目录

一、数据库的基础操作

1、创建数据库

2、显示数据库

3、使用数据库

4、删除数据库

二、常用数据类型

1、数值类型:

2、字符串类型:

3、日期类型:

三、表的基础操作

1、创建表

2、显示表

3、查看表结构

4、删除表

四、表的增删改查(基础)

1、新增数据

(1) 单行数据全列插入:

(2) 单行数据指定列插入:

(3) 多行数据全列插入:

2、查询数据

(1) 全列查询

(2) 指定列查询

(3) 查询字段为表达式

(4) 别名

(5) 去重

(6) 排序

(7) 条件查询

(8) 分页查询

3、修改数据

(1) 修改指定行的指定列

(2) 修改指定行的所有列

4、删除数据

(1) 删除指定行

(2) 删除所有行


一、数据库的基础操作

1、创建数据库

语法:create database 数据库名;

注意:

(1) 数据库名一般不可以是SQL中的关键字(如create 、database、where、between......)

MySQL数据库的基础操作_第1张图片

如果非要使用关键字来命名,可以借助 ` `

MySQL数据库的基础操作_第2张图片

(2) 不可以存在同名的数据库:

当我们再次创建名为“demo”的数据库时,MySQL就会提示该数据库已存在:

如果我们不确定将要创建的数据库是否已经存在时,可以加个判断条件:

语法:create database if not exists 数据库名;

MySQL数据库的基础操作_第3张图片

如果数据库已经存在,就会报警告,如果数据库不存在,则创建成功。 

(3) 创建数据库时可以指定该数据库采用的字符集,如果不指定,则默认采用拉丁文,不能表示汉字:

语法:create database 数据库名 character set 字符集名;

指定为utf8可以表示汉字。

2、显示数据库

语法:show databases;(注意此处的database是复数形式)

MySQL数据库的基础操作_第4张图片 

3、使用数据库

语法:use 数据库名;

4、删除数据库

红温警告⚠,该操作属于危险操作,谨慎使用~

语法:drop database 数据库名;

MySQL数据库的基础操作_第5张图片

注意:

(1) 删除和使用关键字命名的数据库时,也是需要加上` `;

(2) 删除不存在的数据库时会报错,如果不确定要删除的数据库是否存在时,也可以加个判断条件,如果数据库存在则删除,不存在则报警告。

语法:drop database if exits 数据库名;

MySQL数据库的基础操作_第6张图片

二、常用数据类型

1、数值类型:

MySQL数据库的基础操作_第7张图片 

 数值类型可以指定为无符号类型(unsigned),但是不建议。 

2、字符串类型:

MySQL数据库的基础操作_第8张图片 

3、日期类型:

MySQL数据库的基础操作_第9张图片 

三、表的基础操作

对数据库中的表进行操作前,需要先使用该数据库:use 数据库名;

1、创建表

语法:create table 表名(数据类型 字段名,数据类型 字段名......);

可以使用comment -- (空格)添加注释:

MySQL数据库的基础操作_第10张图片

2、显示表

显示当前数据库中所有的表,语法:show tables;

MySQL数据库的基础操作_第11张图片

当前数据库中只有刚才创建的一个student表,注意此处的table也是复数~ 

3、查看表结构

语法:desc 表名;

MySQL数据库的基础操作_第12张图片

4、删除表

红温警告⚠,该操作属于危险操作,谨慎使用~

语法:drop table 表名;    或者    drop table if exits 表名;

MySQL数据库的基础操作_第13张图片

四、表的增删改查(基础)

1、新增数据

(1) 单行数据全列插入:

语法:insert into 表名 values (数据,数据...);

注意:插入数据时,数据的类型以及数量要和表中定义的类型和数量一致。 

MySQL数据库的基础操作_第14张图片

(2) 单行数据指定列插入:

语法:insert into 表名(字段名,字段名...) values (数据,数据);

MySQL数据库的基础操作_第15张图片

此处的数据当然也必须是互相对应的:

MySQL数据库的基础操作_第16张图片

(3) 多行数据全列插入:

语法:insert into 表名 values (数据,数据...),(数据,数据...),...,(数据,数据...);

MySQL数据库的基础操作_第17张图片

同样地,每行数据都得和表中定义的类型和数量一致。 

2、查询数据

(1) 全列查询

语法:select * from 表名;

MySQL数据库的基础操作_第18张图片

通常情况下,不建议使用全列查询,如果数据量过于庞大,全列查询的效率会非常低下。 

(2) 指定列查询

语法:select 列名,列名... from 表名;   (列名即字段名)

MySQL数据库的基础操作_第19张图片 

(3) 查询字段为表达式

语法:select (列名和表达式的组合) from 表名;

MySQL数据库的基础操作_第20张图片

注意:加上表达式的查询结果并不会改变表中实际存放的数据:

 MySQL数据库的基础操作_第21张图片

(4) 别名

语法:select 列名 as 别名 from 表名;

MySQL数据库的基础操作_第22张图片

关键字 as 可以省略,但是不建议~ 

(5) 去重

关键字:distinct

语法:select distinct 列名 from 表名;

MySQL数据库的基础操作_第23张图片

如果同时给多个列去重,那么需要对应行的对应列都重复:MySQL数据库的基础操作_第24张图片

(6) 排序

关键字:order by、asc(升序)、desc(降序)

语法:select 列名 from 表名 order by 待排序的列名 asc/desc;

MySQL数据库的基础操作_第25张图片

注意: 

(1) null数据视为比任何数值都小,升序时在最上面,降序时在最下面;

(2) 可以对多个列进行排序,排序优先级按照书写顺序;

MySQL数据库的基础操作_第26张图片

(3) 升序时的关键字 asc 可以省略(见上图),但是不建议这样写。 

(7) 条件查询

关键字:where

比较运算符:

MySQL数据库的基础操作_第27张图片

逻辑运算符:

MySQL数据库的基础操作_第28张图片

示例:

(1) 查询分数大于90分的同学:

MySQL数据库的基础操作_第29张图片

(2) 查询年龄大于18并且分数大于80分的同学:

MySQL数据库的基础操作_第30张图片

(3) 查询年龄大于18,或者分数大于80分的同学:

MySQL数据库的基础操作_第31张图片

(4) 查询分数在[90,100]的同学:

MySQL数据库的基础操作_第32张图片

使用and也可以做到,但是and的效率不如between高。

(5) 查询年龄是18或19岁的同学:

MySQL数据库的基础操作_第33张图片

使用 or 也可以做到,但是效率不如 in。 

(6) 查询姓名是“悟”开头的同学:

MySQL数据库的基础操作_第34张图片

注意:% 表示任意多个字符,而 _ 表示一个字符:

如果是‘%悟’,则表示查询以“悟”字结尾的名字,前面有多少个字都可以;

如果是‘%悟%’,则表示查询名字中有‘悟’字的,‘悟’字在开头、结尾、中间都可以。

如果是“_悟',则表示查询以“悟”字结尾的两个字的名字;

如果是“悟_',则表示查询以“悟”字开头的两个字的名字;

如果是“_悟_',则表示查询名字中间是“悟”字的三个字的名字;

(7) 查询分数为null的同学

MySQL数据库的基础操作_第35张图片

如果使用 = 查询 ,则结果为空:

注意:

(1) 条件查询可以使用表达式,但不能使用别名,因为条件查询执行的优先级高于别名查询;

(2) and 的优先级高于 or ,可以使用()来选中需要优先执行的语句。

(8) 分页查询

关键字:limit

语法:select 列名 from 表名 limit n;       (从第0行往后查询n行数据)

语法:select 列名 from 表名 limit n offset m;       (从第m行往后查询n行数据)

(1) 按分数降序查询所有同学:

MySQL数据库的基础操作_第36张图片

 (2) 查询分数前三高的同学:

MySQL数据库的基础操作_第37张图片

(3) 从第2行往后查询分数前三高的同学:

MySQL数据库的基础操作_第38张图片

3、修改数据

关键字: update

(1) 修改指定行的指定列

语法:update 表名 set 列名 = 表达式 where 条件;

示例:把八戒的分数改为60分

MySQL数据库的基础操作_第39张图片

(2) 修改指定行的所有列

红温警告⚠,该操作属于危险操作,谨慎使用~

语法:update 表名 set 列名 = 表达式;

示例:把所有同学的分数改为0分

MySQL数据库的基础操作_第40张图片

4、删除数据

红温警告⚠,该操作属于危险操作,谨慎使用~

关键字:delete

(1) 删除指定行

语法:delete from 表名 条件;

示例:删除名为八戒的数据

MySQL数据库的基础操作_第41张图片

(2) 删除所有行

语法:delete from 表名;

示例:删除student表中所有的数据

MySQL数据库的基础操作_第42张图片

删除表和删除数据库都是相当危险的操作,务必谨慎使用~

你可能感兴趣的:(数据库,mysql,sql)