修改列名 | 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' |
alter tabletable_name add 约束条件(columnname);
最新推荐文章于 2025-04-09 13:12:44 发布