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数据库管理



浙公网安备 33010602011771号