mysql 修改自增字段起始值不生效_Mysql数据库基本介绍
1、mysql不分大小寫, 他是存放數據的數據庫管理系統字符集使用utf-8,python分大小寫,r也分大小寫,常用的數據庫是關系型數據庫,workbench編輯工具,Ctrl+回車執行;
2、一個數據庫管理系統下有多個數據庫,一個數據庫下可以有個數據表,一個數據表下可以有多個不同的字段,同一個數據表的不同的字段數據維度要一樣,一個字段只能有一個數據類型;
3、數據庫的默認編碼是utf-8,excel中的默認編碼是ansi格式,一種是二進制文件,二進制文件用記事本打開后不是文字,一種是文本文件,文本文件包括csv格式、txt格式,CSV文件是用逗號隔開的,TXT文件是用空格隔開的;
4、create database +數據庫名稱;
show create database+數據庫名稱;
show databases; 查看所有數據庫 show tables; 查看所有表
use + 數據庫名稱;每次使用數據庫之前,都要先執行使用數據庫命令
drop + database +數據庫名稱;drop + table + 表名; 刪除整個表或者數據庫
delete from 表名;刪除表中的數據 delete from fruits where f_id = 'b5';刪除一部分數據;
5、創建數據表時,包括類型和約束條件;時間類型是time,日期類型叫date,timestamp是時間戳,datetime和timestamp的顯示格式相同,但是存儲的字節和支持的范圍不同,并且datetime沒有時區的差別,輸入什么就是什么,但是時間戳有時區的區別,不同的區域有不同的時間,是按世界標準時間格式保存的,時間戳的取值范圍小于datetime的取值范圍,
浮點數類型包括float、double。double的精度比float的精度高,如果進行數值比較最好使用decimal類型,
char是固定長度字符,varchar是可變長度字符,char會自動刪除插入尾部的空格,varchar不會刪除尾部空格,
常見的運算符
6、算數運算符、比較運算符、邏輯運算符、位操作運算符
算數運算符:+、-、*、/、%
比較運算符:在進行判斷時,如果兩個數的類型不一致,mysql 會自動將類型轉換成一致的,比較運算符的結果顯示有三種,一種是0,一種是1,一種是null,當判斷結果正確時則輸出1,否則輸出0;“=”不能用于null的判斷,因此結果仍然是null ;當比較運算符為“<=>”安全運算符時,則會輸出1;
約束條件
7、primary key:主鍵約束;一個表里面必須只有一個主鍵,一個主鍵可以有多個字段組成;not null:非空約束,這樣可以把空值過濾出去;unique:唯一約束;auto_increment:自增字段一個表中只能有一個自增字段,并且必須是逐漸的一部分,在寫自增字段之前必須先寫上數據類型和主鍵約束,起到了非空不重復的目的;default:默認值;
8、導入數據:
load data local infile "文件路徑.txt" 一定要寫上擴展名 路徑里面不可以有中文,左斜杠變成右斜杠/
into table 表名
fields terminated by 't' 如果是.txt文檔就用t格式,如果是.csv文檔就用逗號‘,’格式 ignore 1 lines; 如果第一行是標題行就用這個命令,如果第一行不是標題行就不需要這個命令。
如果在安裝或者導入數據時,并沒有設置為utf8格式,這個時候需要寫上命令語句,將導入的帶有中文的數據不至于亂碼:CREATE DATABASE market DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
驗證數據的準確性
直接打開數據表,跟文本文檔對比一下,查看一下內容和行數,再查看一下表結構,
檢查導入的內容:select* from 表名;
查看數據的行數:select count(*) from 表名;
查看一下數據的結構:desc 表名;
修改數據表
修改表名:alter table (原始表名)emp rename empdep;
修改類型:alter table (表名)empdep modify (字段名)(修改后的字段類型);注意是類型
修改字段名:alter table (表名)empdep change (舊字段名)(新字段名,類型);
添加新字段:ALTER TABLE empdep ADD maname VARCHAR(10) NOT NULL;
將字段名放在第一行:ALTER TABLE empdep MODIFY maname VARCHAR (10) FIRST;
alter table bingovalue1 modify rownumbers int(只寫個類型就可以) first;
將字段放在某一行:ALTER TABLE empdep MODIFY maname VARCHAR(10) AFTER depid;
刪除字段:alter table empdep drop maname;
刪除主鍵:alter table empdep drop primary key;
添加自增字段:alter table 表名 add 字段名 int primary key auto_increment;添加自增字段時,這列數據需要時整數且為主鍵;
sql的數據查詢功能
select * from 表
where 對總表的原始數據加條件
group by
having 對分組后的數據進行加條件
order by (desc降序的方式進行排序)
select中的運算符包含:算數運算符、比較運算符、邏輯運算符、聚合函數
連接方式
方向性:left join;right join; inner join 可以確定主附表,
對應關系:一對一,一對多,多對多 一對一的最不會出現;
select * from A left join B on A.key=B.key; 如果兩個表中的字段相同時,一定要注意在用的時候寫上表名;
橫向合并:left join;right join; inner join
縱向合并:追加查詢,下表分別表示當主鍵相同時和主鍵不同的時候
聯合查詢:union和union all的用法:union是合并后回去重,union all是合并后不會去重;
(select *from a) union (select from * b); (select *from a) union all (select from * b);
查詢操作符,邏輯運算符
-- 用and操作符查詢s_id為101并且f_id為a1的水果記錄
select * from fruits
where s_id = '101' and f_id = 'a1';
-- 用or操作符查詢蘋果或者橙子的相關記錄
select * from fruits
where f_name = 'apple' or f_name = 'orange';
-- 用in操作符查詢蘋果和橙子的相關記錄
select * from fruits
where f_name in('apple','orange');
-- 用not in操作符查詢蘋果和橙子之外的水果的相關記錄
select * from fruits
where f_name not in('apple','orange');
-- 用between...and操作符查詢f_price在10元到20元之間的水果記錄
select * from fruits
where f_price between 10 and 20;
-- 用is null操作符查詢所有f_name為空的水果記錄
select * from fruits
where f_name is null;
like 操作符
-- 用like操作符查詢所有f_name由a開始的水果記錄
select * from fruits
where f_name like 'a%';
select * from fruits
where f_name like "%a%";
-- 用like操作符查詢所有f_id由b開始且字符長度為兩位的水果記錄
select * from fruits
where f_id like 'b_';
distinct 操作符
-- 查詢fruits表中所有不重復的s_id
select distinct s_id from fruits;
子查詢
-- 用in操作符與子查詢語句來查詢所有f_id對應的f_price在10元到20元之間的水果記錄
select * from fruits where f_id in
(select f_id from fruits where f_price between 10 and 20);
select f_id from fruits where f_price between 10 and 20;
-- 用any操作符與子查詢語句來查詢任意f_price大于20元的水果記錄
select * from fruits where f_price > any
(select f_price from fruits where f_price < 20);找最小的,并且只要大于這個值就可以
-- 用all操作符與子查詢語句來查詢所有f_price大于20元的水果記錄
select * from fruits where f_price > all
(select f_price from fruits where f_price < 20);找最大的,要找大于所有的值得值
-- 用exists操作符與子查詢語句來查詢是否存在f_price大于30元的水果記錄
select * from fruits where exists
(select * from fruits where f_price > 30);
as 重命名和limit限制查詢
-- 用as將fruits表名重命名為f后使用
select f.* from fruits as f;
-- 顯示f_price金額最大的前三名水果記錄
select * from fruits
order by f_price desc
limit 3;
常用函數
-- 使用abs函數求所有水果平均值與最大值差值的絕對值
select abs(avg(f_price)-max(f_price)) from fruits;
-- 使用length函數求每個f_name的名字與他們的字符長度
select f_name,length(f_name) from fruits;
select f_name, length(f_name) from fruits group by f_name;
-- 使用now函數求當前的日期和時間
select now();
GROUP_CONCAT,將分組后的所有值顯示出來
-- 使用group_concat函數查詢不同s_id下對應的所有f_name信息
SELECT s_id, GROUP_CONCAT(f_name) FROM fruits
GROUP BY s_id;
update..set 更新和delete刪除
-- 使用concat函數在f_name字段值前添加'fruit_'信息
SET SQL_SAFE_UPDATES = 0;#1175錯誤,意思是默認是1,不能任意更新
update fruits set f_name = concat('fruit_',f_name);
select * from fruits;
-- 刪除f_id為'b5'的數據記錄
delete from fruits where f_id = 'b5';
select * from fruits;
案例分析中的筆記
set @allcount = (select count(*) from final);#用set函數創建新的變量
set @allsum = (select count(*)*5 from final);
select count(bingovalue)/@allcount as 中獎張數占比,sum(bingovalue)/@allsum as 中獎金額占比 from final
where bingovalue > 0;
總結
以上是生活随笔為你收集整理的mysql 修改自增字段起始值不生效_Mysql数据库基本介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软 Win11 测试个性化新功能,让
- 下一篇: django不修改数据库创外键_Djan