Mysql数据库的基本操作

以下基于Mysql

创建表:create table table_name ( col_name col_type)

 

0操作数据库:CRUD

C:创建

create database 数据库名称;

create database if not exists 数据库名称;

create database 数据库名称 character set 字符集名;

R:查询

show databases;

show create database 数据库名称;

U:修改

alter database 数据库名称 character set 字符集;

D:删除

drop database 数据库名称;

drop database if exists 数据库名称;

查询当前使用的数据库:select database();

使用数据库:use 数据库名称;

 

1对数据表操作

C:

create table 表名( 列名1 数据类型1, … 列名n 数据类型n);

数据库类型:int,double,年月日:date,年月日时分秒:datetime,默认当前时间:timestame,字符串:varchar(n)

复制表:create table 表名 like 被复制的表名;

R:查询

show tables;

desc 表名; 查询表结构

U:修改

修改表名:alter table 表名 rename to 新表名;

修改表的字符集:alter table 表名 character set 字符集名称;

添加一列:alter table 表名 add 列名 数据类型;

修改列名称(类型): alter table 表名change(modify) 列名 新列名(新数据类型) 新数据类型;

删除列:alter table 表名 drop 列名;

D:删除

drop table 表名;

drop table if exists 表名;

 

2增删改表的数据

A:增加数据

insert into 表名[(列名1,…列名n)] values(值1,…值n);

D:删除数据

delete from 表名 [where 条件]; 执行多次删除操作

truncate table 表名; 先删除表,再创建名字一样的表(效率高)

U:修改数据

update 表名 set 列名1 = 值1,列名2 = 值2。。。[where 条件];

 

3表查询

select [distinct] 字段1 [as] 别名,字段2。。。 from 表名;

也可以使用四则运算计算列的值

条件查询:

1where字句后跟条件

2运算符

< > <= >= = <>

beteen…and

in(集合)

LIKE:模糊查询 _:单个字符 %:任意多个字符 如: like ‘_云‘

is null

and &&

or ||

not !

排序查询:

order by 排序字段1 排序方式1、、、 ASC:升序(默认) DESC:降序

聚合函数:count max min sum avg (注意聚合函数的计算会排除null值

分组查询:

 group by 分组字段

注意:

分组之后的字段:分组字段、聚合函数

where和having的区别:where在分组前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,就不会被查询;where后不可以跟聚合函数,having可以。

分页查询

select * from student limit 0,3; (代表索引从0开始,查询3行数据)

 

4约束:对表中的数据进行限定,保证数据的正确性、有效性和完整性。

非空约束:值不能为空

创表时添加:create table 表名(列名 数据类型 not null);

创表后添加: alter table 表名 modify 列名 数据类型 not null;

删除约束:alter table 表名 modify 列名 数据类型;

 

唯一约束:某一列的值不能重复(null代表未知,是可以重复的)

创表时添加:create table 表名(列名 数据类型 unqiue);

创表后添加: alter table 表名 modify 列名 数据类型 unique;

删除约束:alter table 表名 modify 列名 数据类型;

 

主键约束:非空且唯一,一张表只能有一个主键,它是表中记录的唯一标识

创表时添加:create table 表名(列名 数据类型 primary key);

创表后添加: alter table 表名 modify 列名 数据类型 primary key;

删除约束:alter table 表名 drop primary key;

 

自动增长:如果某一列是数值类型

创表时添加:create table 表名(列名 数据类型 [约束] auto_increment);

创表后添加: alter table 表名 modify 列名 数据类型 auto_increment;

删除自动增长:alter table 表名 modify 列名 数据类型;

 

外键约束:让表与表产生关系

创表时添加:create table 表名(。。。外键列 constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称));

创表后添加: alter table 表名 add constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称));

删除约束:alter table 表名 drop foreign key 外键名称;

 

5多表查询

 

 

6事务:用来管理多个步骤的业务操作,这些操作要么同时成功,要么同时失败

开启事务:start transaction;

回滚:rollback;

提交:commit;

设置数据库隔离级别:set global transaction isolation level 级别字符串;

 

7数据库管理

posted @ 2020-07-22 07:07  已经老大不小了  阅读(144)  评论(0)    收藏  举报