一:數據操作
注:在編寫MySQL代碼時可以不用區分大小寫
1.查看表結構
desc 表名;
-- 查看表中的字段類型,長度,約束。
2.字段的增加
AFTER table 表名 add 字段名 數據類型; -- 默認末尾添加
after table 表名 add 字段名 數據類型 FIRST -- 添加到第一個字段
after table 表名 add 字段名 數據類型 after 字段名; -- 添加到某個字段名后面
3.字段長度/數據類型的修改
修改長度不能小于原有長度,否則原有數據會被破壞掉,不可修復
AFTER TABLE 表名 MODIFY COLUMN字段名 數據類型(長度)
4.字段名的修改
after table 表名 change 舊字段名 新字段名 數據類型(長度);
5.刪除字段
after table 表名 drop column 字段名;
6.清空表數據
delete from 表名;
7.修改表名
after table 表名 rename 新表名;
二:聚合函數
聚合函數在數據庫中用于統計數據
avg(字段名) | 求平均值 |
max(字段名) | 求最大值 |
min(字段名) | 求最小值 |
sum(字段名) | 求和 |
count(字段名) | 統計數量 |
示例:
select avg(score) from student;
三:條件約束
作用:對表中的字段進行約束,能夠保證數據的準確性、有效性、完整性。
注:條件約束在創建表的時候,寫在數據類型后面。
1、 非空約束
not? null ,表示字段不能為空,添加數據的時候必須傳值。
2、默認值約束
default,在添加數據的時候,如果沒有對其添加,會將指定的默認值填充。
3、唯一約束
unique,字段值不能重復
4、主鍵約束
primary key ,確保數據唯一且不能為空,一般是給表的id字段設置的。
能夠保證表中總有一個字段是唯一且不為空的,就能根據主鍵找到具體內容。
5、自動增加
auto_increment, 設置自動增加的字段必須是主鍵,默認是一個int類型,從1或者上一條數據遞增到1.
create table user(id int primary key auto_increment,name chae(5) not null,phone int(11) unique,gender enum('男', '女') default '男'
);
四、表數據操作
? ? ? 在更新語句和刪除語句的時候需要確定條件,不確定條件就是把所有的數據進行修改或刪除。
1、表數據修改
update 表名 set 字段名=值 ,字段名=值... where 條件;
2、表數據刪除
delete from 表名 where 條件;
3、數據查詢
like子句:在where子句中使用該語句結合關鍵字實現模糊查詢。
select * from 表名 where 字段名 like '%關鍵字%'
% :? 表示匹配0個或多個字符
_? :? 表示匹配任意一個字符(有幾個下劃線就匹配幾個字符)、占位符
like后的幾種用法:
'%入門%' |
’白%‘(以白開頭) |
’%精通‘(以精通結尾) |
’____‘(四個字的書) |
'白__'(以白開頭,三個字的書) |
4、消除重復項
對查詢結果去重? -- distinct
select distinct * from 表名;
注意:每個字段內容都一致才會去重。
5、排序
在查詢中進行排序:? order by? (默認升序)
asc? :升序
desc :降序
如果數據重復,會根據字段對應的上一個字段進行排序
select * from 表名 order by 字段名 asc/desc
6、分頁
limit子句
select * from 表名 where 條件 limit 返回條數;select * from 表名 where 條件 limit 起點(從0開始), 返回條數;
? ? ? ?首先和大家說一聲對不起,最近有點忙,因為關于機器人的相關比賽陸續開始的,博主需要去準備比賽,加上各種大大小小的事情,所以更新很慢,還請見諒。