mySql 常用命令

  1 //自定义 结束符号 $
  2 delimiter $
  3 
  4 //创建表(库存表)
  5 create table a2(
  6 xuhao int auto_increment,
  7 primary key(xuhao),
  8 name varchar(10) charset utf8 collate utf8_general_ci not null,
  9 bianhao int(10),
 10 danjia int(6),
 11 kucun int(10)
 12 )
 13 engine=innodb charset utf8 collate utf8_general_ci$
 14 
 15 //创建订单表
 16 create table b2(
 17 xuhao int auto_increment,
 18 primary key(xuhao),
 19 name varchar(10) charset utf8 collate utf8_general_ci,
 20 bianhao int(10),
 21 number int(10)
 22 )
 23 engine=innodb charset utf8 collate utf8_general_ci$
 24 
 25 insert into a2(name,bianhao,danjia,kucun)values('苹果',100001,15,90000),
 26 ('草莓',100002,18,5000),('香蕉',100003,22,4000),
 27 ('葡萄',100004,19,2000)$
 28 
 29 
 30 insert into b2(name,bianhao,number)values('苹果',100001,234);
 31 
 32 //触发器添加
 33 create trigger cfq after insert on dd for each row begin update kc set
 34 kucun=kucun-new.number where bianhao=new.bianhao; end$
 35 
 36 
 37 //触发器删除
 38 create trigger t2 after delete on dingdan for each row begin update kucun set 
 39 kucun=kucun+old.number where bianhao=old.bianhao; end$
 40 
 41 //触发器修改
 42 create trigger t3 after update on dingdan for each row begin update kucun set 
 43 kc=kc+old.dingnum-new.dingnum where number=old.number; end$
 44 
 45 内容增加
 46 insert into 表名()values();
 47 
 48 内容删除
 49 delete from 表名 where 字段名='值';
 50 
 51 内容修改
 52 update 表名 set kucun=9000;
 53 
 54 
 55 删除数据库
 56  mysql> drop database php29;
 57 
 58 
 59 
 60 
 61 
 62 
 63 
 64 
 65 
 66 
 67 
 68 
 69 
 70 mysql
 71 
 72 
 73 关键词的顺序
 74 
 75 where-group by-having-order by -limit
 76 
 77 
 78 数据库 and 表:
 79 
 80 \c                //去除报错声音
 81 
 82 show databases;            //查看数据库
 83 show tables            //查看表
 84 create database            //创建数据库
 85 
 86 rename table 原表名 to 新表名;    //表重命名
 87 drop database 库名;        //删除数据库
 88 
 89 创建表的常用类型
 90 int         都是正数   0-2的32次方    有负值   -?~ 91 
 92 char(length)        固定长度
 93 varchar(length)     不固定长度 
 94 
 95 auto_increment   //自增(只有int型)
 96 notnull          //该字段内容不能为空
 97 default '默认值' //该字段如果不添加内容执行默认值
 98 comment '值'     //该字段名的备注
 99 primary key(id)  //设置主键  (自增字段自带主键)
100 
101 
102 
103 
104 内容
105 insert into 表名(字段)value(值),(值);         //添加内容
106     
107 select * from 表名;                  //查询内容
108 select 字段名 from 表名; 
109 select 字段1,字段2 from 表名;
110 
111 update 表名 set 字段名='值' where 字段名='值'; //修改内容
112 
113 delete from 表名 where 字段名='值';        //删除内容
114 
115 
116 字段结构
117 (after 后的...118 alter table 表名 add 字段 类型;            //添加字段
119 
120 alter table 表名 drop 字段名;            //删除字段
121 
122 alter table 表名 change 原字段 新字段 类型;    //修改字段
123 
124 
125 
126 
127 
128 where条件 查询(<,>,<=,>=,!=129 select * from 表名 where name="王二";
130 select * from 表名 id > 2;
131 select * from 表名 where id in (3,5,7);
132 
133 select * from 表名 where name like '_小%';    //模糊查询
134             
135 select * from 表名 where name like '_小%' and id=9;//多条件查询
136 
137 select * from 表名 order by 字段名 asc/desc;    //升/降排列
138 
139 select * from class1 order by cj desc,name limit 2,5;//分页查询
140 
141 
142 
143 
144 
145 
146 max()  最大值
147 min()  最小值
148 sum()  求和
149 avg()  平均数 
150 count()统计记录数
151 例:select name,sum(cj) from 表名 group by name;
152 
153 通过生日计算年龄
154 select now()  //获取当前时间 
155 select year(now()) //获取当前年份
156 select name,sex,birth,year(now())-year(birth) 
157 as age from class where id > 1;
158 
159 
160 
161 
162 
163 合并
164 select * from a union select * from b;        //a,b表合并
165 
166 select name,sum(cj) from class1 group by name having sum(cj)>380 order by sum(cj) desc limit 0,3;    //虚拟字段查询
167 
168 where-group by-having-order by -limit        //关键词的顺序
169 例:
170 select km as 科目,sum(cj) as 总成绩 from (select a.km,a.cj from a union all select b.km,b.cj from b) c group by c.km; 
171 //按照成绩查询合并后的表 (不覆盖相同项)
172 
173 
174 外联(left join)(right join)
175 例:
176 select gril.name,gril.phone,boy.name,boy.phone from 
177 gril left join boy on gril.phone=boy.phone;
178 
179 内联 
180 例:
181 select gril.name,gril.phone,boy.name,boy.phone from 
182 gril inner join boy on gril.phone=boy.phone;
183 
184 
185 
186 
187 
188 选择判断   
189 case 字段名 when 原值1 then 新值1
190             when 原值2 then 新值2    
191             ………………
192             end
193 
194 
195 
196 
197 
198 
199 触发器 trigger
200 
201 ① 监视操作 insert / update / delete
202 ② 触发时间 after / before
203 ③ 触发操作 insert / update / delete
204 ④ 监视表   表的名称 
205 
206 
207 例:
208 增加
209 create trigger t1 after insert on dingdan for each row begin update kucun set kc=kc-new.dingnum where number=new.number; end$
210 
211 create trigger t1 after insert on hzy for each row begin update chengchi set tong=tong+new.tong where name=new.name; end$
212 
213 create trigger t_up after update on hzy for each row begin update chengchi set liang=liang-old.liang+new.liang where name=old.name; end$
214 delimiter $
215 //insert
216 t1
217 hzy
218 AFTER
219 INSERT
220 begin update chengchi set tong=tong+new.tong where name=new.name; end
221 root@localhost
222 //update
223 t3
224 hzy
225 AFTER
226 UPDATE
227 begin update chengchi set tong=tong-old.tong+new.tong where name=old.name; end
228 root@localhost
229 
230 
231 删除
232 例:
233 create trigger t2 after delete on dingdan for each row begin update kucun set kc=kc+old.dingnum where number=old.number; end$
234 
235 修改
236 create trigger t3 after update on dingdan for each row begin update kucun set kc=kc+old.dingnum-new.dingnum where number=old.number; end$
237 
238 
239 //root设置密码 ,密码为空和修改密码
240 mysql> use mysql;
241 mysql> UPDATE user SET password=PASSWORD("123456") WHERE user='root';
242 mysql> FLUSH PRIVILEGES;
243 
244 
245 select name,href from rtfz where id=1 order by id desc limit 0,4; //倒序排列

 

posted @ 2020-02-16 20:08  鸡儿er  阅读(179)  评论(0编辑  收藏  举报