fu-ture

导航

MySQL常用命令

一、MySQL基础命令

1.创建数据库

create database shop;

#使用库

use shop;

2.创建表

create table user(

id  int primary key,

name char(10)

)ENGINE=InnoDB DEFAULT CHARSET=utf8

3.查表

选择数据库:use <库名>;

使用查看表语句:show create table <表名>;

4.表重命名

选择数据库:use <库名>;

使用重命名语句:rename table 旧表名 to 新表名;

5.复制表结构、主键、索引

create table语句的末尾添加like子句,语法结构如:create table <新表名> like <源表>;只复制表达结构,不复制表的数据)

6.复制表数据跟表结构

insert into  <新表名> select * from <源表>;

(特点:复制数据,新旧表中的数据结构完全一致)

7.只复制表数据

insert into  <新表名> select * from <源表>

8.修改表中的数据:

update from 表名 where 列名=值;

删除表中的数据:

delete from 表名 where 列名=值;

9:删除表格:

drop table 表名;

10.向表中插入数据:

insert into 表名 values();

11.多条件查询单表信息:

  • select * from 表名 where 条件 or 条件;

  • select * from 表名 where in(条件,条件);

  • select * from 表名 where 条件 or 条件;

  • select * from 表名 where 数据名 between 条件 and 条件;

12.添加字段的语句:

alter table 表名 add 字段名 数据类型 [ first | after 字段名 ];

13.字段设置默认值:

alter table 表名 alter 字段名 set default 默认值;

14.删除默认值:

alter table 表名 alter 字段名 drop default;

15.删除字段:

alter table 表名 drop 字段名;

16.改字段名:

alter table <表名>  change <字段名>   <新字段名>  <数据类型>;

17.模糊查询:

1:select * from 表名 where 字段名 like'%条件%';

例如:select * from one where name like'%a%';(查询one表中人名里面带有a的个人信息)

2:select * from 表名 where 字段名 like'__a%';

例如:select * from one where name like'__w%';

(查询one表中人名里面第三个字符为W的个人信息,注意:多少个下划线代表是第几个字符)

18.常用函数:

1.max(列名) 最大值

2.min(列名) 最小值

3.sum(列名) 求和

4.avg(列名) 求平均值

5.count(列名) 计算个数

  例如:select max(sal) from 表名;

19.gruop by查询方法:

查询性别为nv平均工资,并且只显示性别为nv的平均工资信息

select sex,avg(sal) from two group by sex having sex='nv';

order by 列名 desc(降序)

order by 列名 asc(升序)

没有加desc或者asc,则默认为升序,只能放到语句末尾。

外键约束的概念:外键约束可以使两张表紧密的结合起来,确保数据的完整性

20.表级外键约束的格式:

constraint 约束名 foreign key(子表中的外键字段) references

父表(父表中被引用的字段)

21.主键自动增长:

功能:让主键的值从1开始增长

在约束条件后面添加 auto_increment;

二、MySQL存储过程

存储过程含义:

  • 完成特定功能的SQL语句集合
  • 经编译后保存在数据库中
  • 通过指定存储过程的名字并给出参数的值
  • mysql5.0版本开始支持存储过程,使数据库引擎更灵活和强大
  • 可带参数,也可返回结果
  • 可包含数据操纵语句、变量、逻辑控制语句等

存储过程优点:

  • 减少网络流量
  • 提升执行速度
  • 减少数据连接次数
  • 安全性高
  • 复用性高

存储过程缺点:

  • 可移植性差

(对于应用特别复杂的数据处理,可以选用存储过程进行实现)

创建存储过程:

#########

 

#如果存在则删除
drop procedure if exists proc_patient_countPatient;
delimiter// #声明分隔符
create procedure proc_patient_countPatient()

begin #过程体开始
select count(0) as totalCount from patient;
end// #过程体结束
delimiter; #恢复默认分割符

#调用执行存储过程
call proc_patient_countPatient();

#########

数据类型(in、out、inout)

IN:指输入参数

  • 该参数的值必须在调用存储过程时指定

  • 存储过程中可以使用该参数,但它不能被返回

OUT:指输出参数

  • 该参数可以在存储过程中发生改变,并可以返回

INOUT:指输入输出参数

  • 该参数的值在调用存储过程时指定

  • 在存储过程中可以被改变和返回

 

 

 

 

 

 

 

posted on 2022-09-22 10:45  *非梦  阅读(29)  评论(0编辑  收藏  举报