MySql常用控制语句

来源:互联网 发布:电脑语音输入软件 编辑:程序博客网 时间:2024/04/30 08:25

------- android培训java培训、期待与您交流! ----------

Mysql数据库是开源免费的数据库,下载网址为:http://www.mysql.com/。进入后选择Downloads分页,选择MySql Commutity Edition(GPL)即可下载对应的Mysql数据库。

Mysql常用语句:(每条短语后都必须跟一个英文符号的;(分号))

数据定义语言(DDL):create、drop、alter

查看数据库:show dabases;;(前三个是系统库)

创建数据库::create database 数据库名;

使用数据库::use 数据库名;

创建表:         create table(

字段名 字段类型 字段属性(属性间用空格隔开),(每一句用英文,分开)

字段名 字段类型字段属性(属性间用空格隔开),

);

查看表: show tables;

查看表结构:desc 表名;

删除表: drop table 表名;(删除该表的所有记录及表结构,删除后不能还原)

修改表结构(alter table语句):

增加列: alter  table 表名  add column 列名  字段类型;

重命名表: alter  table 表名  rename 表名

删除列: alter  table 表名  drop column  列名;

修改列类型:alter  table 表名  modify 列名  字段类型;

修改列类型:alter  table 表名change  列名  列名  字段类型;

修改列类型:alter  table 表名  change column 列名 新列名  字段类型;

(modify和change的区别:change如果只修改列的字段属性,也必须列出新列名,就算新列名和旧列名一样;)

数据操纵语言(DML):insert、update、delete

添加数据: insert into 表名(字段1,字段2,字段3......)values(值1,值2,值3......);(不必列出所有字段,但是列出的字段必须有对应的值,auto_incroment不必列出字段)

修改数据: update 表名  set  字段名1='值',字段名2=‘值’,字段3=‘值’  where  字段名=‘值’;(字符串必须用‘’(单引号)引起来)

删除数据: delete  from 表名  where 条件;(如果不加where语句,删除所有记录)

数据查询语言(DRL)(是Mysql中使用最多):select语句

*: 通配符,匹配所有字段。在实际项目中避免使用*,应该使用所有字段的名字。

dual: 虚拟表,主要用于满足sql语法,查找的东西不再任何表中,例如:select 1+1 from dual

is null、is not null:where后为空/或非空的写法。

%: 通配符,用于字符串的查询。select  *  from  mysql  where name like ‘%xiao’

    select  *  from  mysql  where name like ‘xiao%’

    select  *  from  mysql  where name like ‘%xiao%’;

and、or 用于查询语句条件,例:      select  *  from mysql  where gender=‘m’ and(or) createDate=‘2013-8-26’;

order by: 排序,asc(升序),desc(降序),例如:  select  *  from  mysql  where  条件  order by  createDate(asc)/(desc);(如果为升序,asc可省)

有多个排序条件,当第一个条件相同,依照第二个条件:select  *  from  mysql  where 条件  order by createDate,age asc;

group by:将查找结果进行分组,例如:select  gender ,count(gender) from mysql group by gender

having专门用于group by,作为分组条件使用(where是分组前的条件,但效率低),例:

select  *  from  gender,count(gender) from  mysql  group  by  gender having gender=‘m’;(效率低,having语句尽量少写)

select  *  from gender,count(gender)  from mysql  where gender=‘m’ group by gender;(效率比上面那条语句高)

(先使用where对条件进行划分,找到的记录会少,再进行划分;如果使用having是查找所有的记录,记录数多,然后再进行划分。)

as: 为分组或者条件起一个别名,例:

select  count(id)[as]   总和  from  mysql;(as可以省略)

  == select count(id)  总和 from  mysql;

select  t.name,t.age from  mysql t;

· limit: 显示记录的条数,例:

select  *  from  mysql limit 0,3;(显示从头开始的三条记录) 

事务控制语言(TCL):commit、rollback

事务:在关系型数据库中,一个事务可以是一条sql语句,一组sql语句或整个程序。

设置事务提交方式:set  autocommit=fale;手动提交(用commit提交)

    set  autocommit=true;自动提交;

rollback: 还原到上一次commit的地方,在没有提交前才有用。

savepoint  还原点名:存储还原点。

rollback  to  还原点名字:还原到该还原点。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

以上的语句是数据库通用的语句,不管是mysql还是oracle,抑或是别的数据库,都可以使用这些语句。

0 0