alter tabletable_name add 约束条件(columnname);

修改列名

alter table 表名1 change column 旧列名 新列名 varchar(20);

添加列:

   alter table 表名 add 列名 数据类型;

删除列:

alter table 表名 drop 列名 数据类型;

删除某行:

delete from 表名称 where 列名称 = 值            

eg:    delete from student7 where ano=2;

删除所有行:

delete from 表名称  或者 delete*from 表名称     

eg:   delete from student7;

查看表结构:

desc 表名;show columns from 表名;

查看见建表语言:

show create table 表名;

创建表的备份附件:

select into :从一个表中选取数据插入另一个表中,用于表的备份或者对记录进行归档

select*into new_table_name[IN externaidatabase] from old_tablename;

select column_names into new_table_name[IN externaidatabase] from old_tablename;

插入记录insert:

insert into 表名1(表1列1,表1列2)select 表2列1,表2列2   from 表2 where 条件;

查询插入

insert into 。。。。。。select。。。。。

insert into student(sno ,cno) select sno,cno fromstudent2 where sno in (4,5);

 子查询写入

insert into 表名 列名1=值1,列2= 值2,,,where;

更新记录 

update....set....

eg:  update student set sname='小明',sex='女'where sno=5;

查询select:

eg:   select *from student where age not between 50 and 65;(包含两端)

select语句

指定从哪些表中获取数据from<table-specification>

 

distinct:消除重复记录行select distinct<expressionlist>

 

 where:只返回满足特性条件的记录航(过滤器)where<condition>

 

order by:按照表达式列表排列顺序记录

order by<ordering-specification>

 desc

降序排列

   asc

升序排列

order by tg asc,tno desc

;按照第一序列排列,再按照第二序列排列。

limit:

返回特定部分的数据,而不是所有结果limit<rowcount>

 group by语句:

 select  customer,sum(orderprice) from customer  group by 列名1,列名2;

  having

设置分组条件

select  customer,sum(orderprice) from customer  group by 列名1 having  sum(orderprice)>2000;

外键

一个表可以有多个外键

[constraint symbol]foreign key [id] (index_col_name, ...)references tbl_name (index_col_name, ...)[on delete {restrict\cascade\set null\no action\set default}]

跨表匹配inner join可用 与两个没设置外键的表格:

 select column(s) from tablename1 inner join tablename2 on tablename1.column=tablename2.column innner join tablename3 on tablename1|2.column=tablename3;但是用on可以后面加其他的条件筛选,on作为表的条件,where作为结果的条件;

left join:

 即使右表中没有匹配,也从左表返回所有的行 ,左表所有记录

right join:

 即使左表中没有匹配,也从右表返回所有的行,右表所有记录

full join:

只要其中一个表中存在匹配,就返回行,有些数据库中显示full outer join

子查询: 

通过相同的列进行表间或者表内查询 ,两个表有没有外键连接都行

select sno from student where ano=(select ano from grade where result='20');

使用union联合查询

 不允许重复值:select...union select....

允许重复值:select....union all select....

输入用户名密码

shell>mysql -h localhost -p -u myname

root账户链接服务器:

shell>mysql -u root -p13465 -P 8080 -h 10.84.62.110

退出mysql,可使用

\q、quit()、exit():     mysql>\q

 mysql客户端

上下键循环调出历史命令,左右键移动光标,del键删除当前光标处字符,esc键取消当前输入内容

算术运算符:

x+y,x-y,    乘法x*y        除法x/y    ,整除x DIV y    4DIV3    ,取模x%y    4mod3    

比较运算符:

x=y 结果为true  ;  

x and y   x和y都成立的时候为true;

x or y  x和y成立一个值则为true; ;

not y    y是false 则结果为true.    

x<=>y    支持null值的比较    

x<y    x<=y   x>y   x>=y   

BETWEEN ... AND

是数值、文本或者日期。 包左不包右。

like搜索某种模式

通配符‘%'匹配任意字符

通配符‘_’表示一个字符

x rlike 'regular expression'或者x regexp 'regular expression'

正式表达式true可以匹配url,ip地址、电话号码,以及邮政编码等更为复杂的模式

where name rlike'nat';where name rlike '*&^%*new<>';

 

<>all,!=all,not in ,in,any,all,some:

 any或者some 其中的一个 ,all全部。any与in的运算方法相似,=all是不存在的,,!=all(或<>all)与not in 相似的

我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):

SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')AND LastName='Carter'

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值