增
insert into 表名(列名,列名。。。。。。) values("test1",23),("test2",23),("test3",24); 這條命令可以一次增加一條數據,也可以同時增加多條數據
?
還可以從插入其他的表到數據到當前表
insert into 插入的表的名稱(列名,列名。。。。。) select 列名,列名。。。。。 from 插入的表的名稱;
?
刪
?delete from 表名 清空表的內容
刪除tel=101的這一列
?
清空整個表
?
改
?update 表明 set name="xxxx" where id=3;
?
查
?select * from 表名;
?
條件語句
?
通配符
?
?限制
?
?排序
?
?分組
?
?
?
?
?分組是什么作用呢。我們看下下面的例子
?
?按照workaddress這一列分組,如果有多行相同的workaddres,則只會顯示第一列
?
按照workaddress這一列分組,如果有多行,則顯示id最大的那一行;
?
?
?按照workaddress分組,如果相同的workaddress有多列,則只顯示id最小的那一列,和默認的情況一致
?
?
?按照workaddress分組,如果相同的workaddress有多列,則會把所有的列的id加起來取和
?
?
?按照workaddress這一列分組,如果workaddress這一列有多行,則統計多行的id的個數
?
還可以為每個新的列取一個新的名稱,比如上面的例子
?
?
-----------------------------------------------------------------------------------------------------------------------------------
?
?對聚合條件做篩選要用having來做篩選,上面的例子,首先用workdaddress做篩選,然后選出count(id) 》=2的列
?
連表
?
?
?
?
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
連表操作?
我現在想實現這么一個需求,我在userinfo表中用workaddress代替工作地點,但是這里的workaddress僅僅是一串數據,而不是真正的名字,而真正的名字在workaddress中存儲,我想在一條sql語句中就查詢到工作的地點,就可以用到下面的方法
?
?select * from 表a,表b where 表a.列名 = 表b.列名;
?
?
?
第二種實現連表的方式
select * from 表a lef join 表b on 表a.列名 = 表b.列名;
?
?
先寫哪張表,哪張表就會放在左邊,下面的例子的結果和上面例子的結果可以對比的看下
?
?
-----------------------------------------------------------------------------------------------------------------------------------
求平均值的兩種方法
?