数据库常用操作

来源:互联网 发布:51游戏java官网 编辑:程序博客网 时间:2024/05/29 16:35

相关地址:http://wenku.baidu.com/link?url=jnCz2APRQISsUlnNiILrGWWvgiH3KVrAiSIu5qpWm8YN_z4U0LU7zD1DPnHkPl9tONsih-vykE3zXfChfk–QJbFHzD8NQjz3TcnjZkuT5u(对常用的操作有总结)

#插入表departmentinsert into department(name,description) values('系统部','系统部');insert into department(name,description) values('公关部','公关部');insert into department(name,description) values('客服部','客服部');insert into department(name,description) values('财务部','财务部');insert into department(name,description) values('测试部','测试部');#插入表s_positioninsert into s_position(name,description) values('总监','总监');insert into s_position(name,description) values('经理','经理');insert into s_position(name,description) values('普通员工','普通员工');#插入表depart_posinsert into depart_pos(department_id,position_id)select a.id department_id,b.id postion_idfrom department a,s_position b;#插入表stafferinsert into staffer(name,department_id,position_id) values('陈达治',1,1);insert into staffer(name,department_id,position_id) values('李文宾',1,2);insert into staffer(name,department_id,position_id) values('马佳',1,3);insert into staffer(name,department_id,position_id) values('亢志强',5,1);insert into staffer(name,department_id,position_id) values('杨玉茹',4,1);11、查询及删除操作#显示系统部的人员和职位select a.name,b.name department_name,c.name position_namefrom staffer a,department b,s_position cwhere a.department_id=b.id and a.position_id=c.id and b.name='系统部';#显示系统部的人数select count(*) from staffer a,department bwhere a.department_id=b.id and b.name='系统部'#显示各部门的人数select count(*) cou,b.namefrom staffer a,department bwhere a.department_id=b.idgroup by b.name;#删除客服部delete from department where name='客服部';#将财务部修改为财务一部update department set name='财务一部' where name='财务部';10:删除表mysql>drop TABLE MYTABLE;11:清空表mysql>delete from MYTABLE;12:更新表中数据mysql>update MYTABLE set sex="f" where name='hyq';UPDATE [LOW_PRIORITY] [IGNORE] tbl_nameSET col_name1=expr1 [, col_name2=expr2 ...][WHERE where_definition][ORDER BY ...][LIMIT rows]orUPDATE [LOW_PRIORITY] [IGNORE] tbl_name [, tbl_name ...]SET col_name1=expr1 [, col_name2=expr2 ...][WHERE where_definition]UPDATE 以新的值更新现存表中行的列。SET 子句指出要修改哪个列和他们应该给定的值。WHERE子句如果被给出,指定哪个记录行应该被更新。否则,所有的记录行被更新。如果 ORDER BY 子句被指定,记录行将被以指定的次序更新。如果你指定关键词 LOW_PRIORITY,UPDATE 的执行将被延迟,直到没有其它的客户端正在读取表。如果你指定关键词 IGNORE,该更新语句将不会异常中止,即使在更新过程中出现重复键错误。导致冲突的记录行将不会被更新。如果在一个表达式中从 tbl_name 中访问一个列,UPDATE 使用列的当前值。举例来说,下面的语句设置 age 列值为它的当前值加 1 :mysql> UPDATE persondata SET age=age+1;UPDATE 赋值是从左到右计算的。举例来说,下列语句将 age 列设置为它的两倍,然后再加 1 :mysql> UPDATE persondata SET age=age*2, age=age+1;如果你设置列为其当前的值,MySQL 注意到这点,并不更新它。UPDATE 返回实际被改变的记录行数目。在 MySQL 3.22 或更新的版本中,C API 函数 mysql_info()返回被匹配并更新的记录行数目,以及在 UPDATE 期间发生的警告的数目。在 MySQL 3.23 中,你可以使用 LIMIT # 来确保只有给定的记录行数目被更改。如果一个 ORDER BY 子句被使用(从 MySQL 4.0.0 开始支持),记录行将以指定的次序被更新。这实际上只有连同 LIMIT一起才有用。从 MySQL 4.0.4 开始,你也可以执行一个包含多个表的 UPDATE 的操作:UPDATE items,month SET items.price=month.priceWHERE items.id=month.id;注意:多表 UPDATE 不可以使用 ORDER BY 或 LIMIT。1、查询查询返回限制的行数TOP:select top 5 sname,saddressfrom students where ssex=0select top 20 precent sname,saddress  --按百分比from students where ssex=0查询排序:select studentid as 学员编号,score as 成绩from scorewhere score>60order by score,courseid2、字符串函数charindex 用来寻找一个指定字符串在另一个字符串中的起始位置select charindex('accp','my accp course')  返回:4 找不到返回:0len返回传递给它的字符串长度selectlen('sqlserver课程')返回:12 lower把传递给它的字符串转换为小写selectlower('SQLServer课程')返回:sqlserver课程upper把传递给它的字符串转换为大写 selectupper('sqlserver课程')返回:SQLSERVER课程ltrim清除字符左边的空格 selectltrim('周智')返回:周智(后面的空格保留)rtrim清除字符右边的空格 selectltrim('周智')返回:周智(前面的空格保留)right/left从字符串右边/左边返回指定数目的字符 selectright/left('买卖提.吐尔松',3)返回:吐尔松/买卖提replace替换一个字符串中的字符 selectreplace('莫乐可切.杨可','可','兰') 返回:莫乐兰切.杨兰 stuff在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串selectstuff('ABCDERG',2,3,'我的音乐我的世界')返回:A我的音乐我的世界EFG
0 0
原创粉丝点击