mysql数据库操作格式

新建库:
  create database 库名;
修改库字符编码:
  alter database 库名 character set="编码名字"
查看库或者表格:
  show database/table;
进入库:
  use 库名;
新建表格:
  create tabale 表名(列名 数据类型,列名 数据类型);
修改表名:
  alter table 表名 rename 新表名;
删除表:
  drop table 表名;
修改列数据类型:
  alter table 表名 modify 列名 新数据类型;
修改列名(必须同时写上数据类型):
  alter table 表名 change 旧列名 新列名 数据类型;
设置主键:
  alter table 表名 add constraint 主键名 primary key (列名);
删除主键:
  alter table 表名 drop primary key;
设置外键:
  alter table 表名 add constreint foreign key 关联表名(主键列名)
  references  表名 (列名(必须是另一个表的唯一或主键));
删除外键:
  alter table 表名 drop foreign key 外键名称;

约束:

 ① 主键:primary key (直接跟在数据类型后面需要写在最后)
 ② 外键:foreign key (不能写在数据类型后面,必须写在最后且格式完整)
 ③ 非空:not null (必须写在最后面)
 ④ 唯一:unique 
 ⑤ 自增长:auto_increment (不是关键字)
 ⑥ 默认值:default'默认内容'
    可选默认值:set('','') 多选 ; enum('','')单选 (都不用写数据类型)
 ⑦ 限制数据类型

 其他约束:主外键关联;规则;触发器;存储过程.

插入数据:
  insert into 表名 (列名,列名) values (对应的值1,对应的值2);
  (不添加列名就是添加所有 需要填写对应列的值)
删除数据:
  delete from 表名 where 条件(不写条件全部删除 自增长不会重置);
删除所有数据:
  truncate table 表名; (会删除所有数据 且重置自增长);
修改数据:
  update 表名 set 列名='修改内容' where 列名='条件值' (不设立条件会修改所有);
查询所有内容:
  select * from 表名;
查询指定列:
  select 列名,列名 from 表名;
按条件筛选查询:
  select 列名,... from 表名 where 条件;
排序:
  select */列名 from order by 列名 desc/asc   (desc从大到小降序,asc从小到大升序,asc可以省略);
别名:
  select 列名 AS 别名,.... from 表名; (AS可以省略)
  select 列名+列名 AS别名 from 表名;  (可以合并列并用新别名)
限制条数:
  select * from 表名 limit0,5   (0是第一个,5是显示五个)
去重:
  SELECT DISTINCT 列名 FROM scores表名; (不能去重多个)
排序 降序:
  SELECT 列名 年龄 FROM 表名 WHERE 列名>30 ORDER BY 列名 DESC; (order by和DESC中间加列名 从小到大升序ASC默认不用写 )
查找 范围:
   不在范围内
      SELECT * FROM 表名 WHERE ssex=1 AND sage NOT BETWEEN 50 AND 60;
   取范围内
      SELECT * FROM 表名 WHERE ssex=1 AND sage BETWEEN 50 AND 60;
   只取某几个值
      SELECT * FROM student WHERE ssex=0 AND sage IN (78,23);
   取某几个值以外的
      SELECT * FROM student WHERE ssex=0 AND sage NOT IN (78,23);

查询顺序 fore where groupby having orderby limite;
  selec 列名 from 表名 where 条件 group by 分组 having 条件 order by 列名 desc limite 0,5;

存储过程:赋值,格式,传参返回参数;
   create procedure par_a(in x nit ,out y)
   begin
        declare sex varchar(5)(局部变量 必须放在用户变量前面 defaultke可以省略)
        set @sage=0(用户变量 必须前面加@ 必须赋值)
    select sage into @sage from stu where sname='张三'; (赋值用into)
        select ssex into sex from stu where sname='张三';
    select @sage;
    select sex;

  end
  call par_a(传入的参数 x, @y (返回的参数) );(调用存储过程)
  select @y (调用返回的值)

数据库 if 分支结构语法:
    
    IF 条件 THEN 
    语句块;
    ELSEIF 条件 THEN
    语句块;
    ELSE 语句块;
    END IF;
触发器:
   create trigger tri_name before update/insert on 表名 for each row 
   begin

   end
游标:
   declare 游标名 cursor for 查询语句;
   open 游标名;
   fetch 游标名 into a,b,c,d;
   close 游标名;
create trigger name before update on name for each row 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值