mysql常用的增删改操作
2016-06-28 08:51
423 查看
连接数据库:
mysql -u username -p passwd创建表:
CREATE DATABASE dbname选择数据库:
USE dbname查看数据库中创建的所有数据表:
show tables;删除数据库:
drop database dbname;创建表:
CREATE TABLE tablename (column_name_1 column_type_1 constraints, column_name_2 column_type_2 constraints , ……column_name_n column_type_nconstraints)eg:create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2));
查看表的定义:
DESC tablename查看创建表的sql语句:
show create table tablename \G; # (‘\G’ 居中显示)删除表:
drop table tablename修改表:
ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]增加表字段:
ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST | AFTER col_name]删除表字段:
ALTER TABLE tablename DROP [COLUMN] col_name字段改名:
ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_definition [FIRST | AFTER col_name]注意:
change 和 modify 都可以修改表的定义,不同的是 change 后面需要写两次列名,不方便。但是 change 的优点是可以修改列名称, modify 则不能。
表改名:
ALTER TABLE tablename RENAME [TO] new_tablenameDML语句:
1、插入记录:INSERT INTO tablename (field1,field2,......fieldn) VALUES(value1,value2,......valuesn); eg: insert into emp (ename,hiredate,sal,deptno) values('zzx1','2000-01-01','2000',1); # 一次性插入多条记录: INSERT INTO tablename (field1, field2,......fieldn) VALUES (record1_value1, record1_value2,......record1_valuesn), (record2_value1, record2_value2,......record2_valuesn), ...... (recordn_value1, recordn_value2,......recordn_valuesn)
2、更新记录:
UPDATE tablename SET field1=value1,field2.=value2,......fieldn=valuen [WHERE CONDITION] eg: update emp set sal=4000 where ename='lisa'; # 同时更新多表的记录: eg:同时更新表 emp 中的字段 sal 和表 dept 中的字段 deptname update emp a, dept b set a.sal=a.sal*b.deptno,b.deptname=a.ename where a.deptno=b.deptno;
3、删除记录:
DELETE FROM tablename [WHERE CONDITION] eg:delete from emp where ename='dony'; # 同时删除多表记录: DELETE t1,t2...tn FROM t1,t2...tn [WHERE CONDITION] eg:将表 emp 和 dept 中 deptno 为 3 的记录同时都删除: delete a,b from emp a,dept b where a.deptno=b.deptno and a.deptno=3;
4、查询记录:
SELECT * FROM tablename [WHERE CONDITION] # 排序和限制: SELECT * FROM tablename [WHERE CONDITION] [ORDER BY field1 [DESC|ASC] , field2 [DESC|ASC],......fieldn [DESC|ASC]] LIMIT:限制显示的记录数 SELECT ......[LIMIT offset_start,row_count] # 聚合: SELECT [field1,field2,......fieldn] fun_name FROM tablename [WHERE where_contition] [GROUP BY field1,field2,......fieldn [WITH ROLLUP]] [HAVING where_contition] fun_name 表示要做的聚合操作,也就是聚合函数,常用的有 sum(求和)、count(*)(记录数)、max(最大值)、min(最小值)。 GROUP BY 关键字表示要进行分类聚合的字段,如要按照部门分类统计员工数量,部门就应该写在 group by 后面。 WITH ROLLUP 是可选语法,表明是否对分类聚合后的结果进行再汇总。 HAVING 关键字表示对分类后的结果再进行条件的过滤。
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复