我的学习之路_第十八章_SQL语句
SQL語(yǔ)句
啟動(dòng)數(shù)據(jù)庫(kù): net start mysql 關(guān)閉數(shù)據(jù)庫(kù): net stop mysql
登錄數(shù)據(jù)庫(kù) : cmd-->命令行-->mysql-->mysql -u賬號(hào) -p密碼
【創(chuàng)建和刪除數(shù)據(jù)庫(kù)】
使用關(guān)鍵字 : create(創(chuàng)建) database(數(shù)據(jù)庫(kù))
格式: create database 數(shù)據(jù)庫(kù)名;
create database 數(shù)據(jù)庫(kù)名 character set 字符集;
●--查看mysql中所有的數(shù)據(jù)庫(kù)
show database;
●--查看某個(gè)數(shù)據(jù)庫(kù)的定義的信息
show create database 數(shù)據(jù)庫(kù)名;
●--切換數(shù)據(jù)庫(kù)
use 數(shù)據(jù)庫(kù)名;
●--查看正在使用的數(shù)據(jù)庫(kù)
select database();
●--刪除數(shù)據(jù)庫(kù)
drop database 數(shù)據(jù)庫(kù)名;
【創(chuàng)建表的SQL語(yǔ)句】
創(chuàng)建數(shù)據(jù)庫(kù)表,使用關(guān)鍵字 create(創(chuàng)建) table(表)
[] : 數(shù)據(jù)庫(kù)中是可選的意思,可以有,可以沒有
格式:
create table 表名(
字段名 數(shù)據(jù)類型[長(zhǎng)度] [約束],
字段名 數(shù)據(jù)類型[長(zhǎng)度] [約束],
...
字段名 數(shù)據(jù)類型[長(zhǎng)度] [約束](最后一個(gè)不能有逗號(hào))
);
主鍵約束: primary key 字段不能為null,不能重復(fù)
?
●--查看當(dāng)前數(shù)據(jù)庫(kù)中所有的表
show table;
●--查看表結(jié)構(gòu)
desc 表名 ;
●--刪除表
drop table 表名 ;
【修改表結(jié)構(gòu)格式】
關(guān)鍵字 : alter(修改) modify(更改) change(改變)
●--修改表添加列
alter table 表名 add 列名 類型[長(zhǎng)度] [約束];
●--修改表修改列的類型長(zhǎng)度及約束
alter table 表名 modify 列名 類型[長(zhǎng)度] [約束];
注意:如果有數(shù)據(jù),必須注意數(shù)據(jù)類型 varchar --> int 容易有錯(cuò)誤數(shù)據(jù)
●--修改列名以及數(shù)據(jù)類型和約束
alter table 表名 change 原列名 新列名 類型[長(zhǎng)度] [約束];
●--刪除列
alter table 表名 drop 列名;
注意:如果列中有數(shù)據(jù),數(shù)據(jù)就會(huì)一起刪除了,需謹(jǐn)慎
●--修改表名
rename table 表名 to 新表名;
●--修改表的字符集
alter table 表名 character set 字符集;
注意:不建議執(zhí)行,有可能會(huì)產(chǎn)生亂碼
【插入表數(shù)據(jù)】
使用關(guān)鍵字 : insert(插入) [into]
格式:
包含主鍵:insert into 表名(字段1,字段2...) values(值1,值2...);
主鍵自增,省略主鍵: insert into 表名(不包含主鍵) values (不包含主鍵);
注意事項(xiàng):
1.字段和值一定要一一對(duì)應(yīng)(個(gè)數(shù),數(shù)據(jù)類型)
2.除了數(shù)值類型(int ,double)其他的數(shù)據(jù)類型都需要使用引號(hào)包裹起來
可以使用雙引號(hào),也可以使用單引號(hào),推薦使用單引號(hào)
●--包含主鍵
insert into 表名(字段1,字段2...) value(值1,值2...);
●--創(chuàng)建表,主鍵自增 auto_increment(主鍵自己添加,自己增長(zhǎng))
create table 表名(
字段 數(shù)據(jù)類型[長(zhǎng)度] primary key auto_increment,
字段 數(shù)據(jù)類型[長(zhǎng)度][約束],
...
);
●--主鍵自增,省略主鍵:
insert into 表名(不包含主鍵) values (不包含主鍵);
●--批量插入數(shù)據(jù)
格式:
包含主鍵: insert into 表名(字段1,字段2...) values (值1,值2...)
主鍵自增,省略主鍵: insert into 表名 (不包含主鍵) values (不包含主鍵),(值1,值2...)
●--省略字段名格式:必須給出全部字段的值(包含主鍵)
格式:
insert into 表名 values(全部字段的值);
insert into 表名 values(全部字段的值),(全部字段的值)...
●--記不住主鍵,可以使用null,sql會(huì)自動(dòng)計(jì)算主鍵
insert into 表名 values(null,字段);
【更新表數(shù)據(jù)】
使用關(guān)鍵字: update(更新) set(設(shè)置)
格式:
不帶條件過濾,一次修改列中所有的數(shù)據(jù)(慎用)
update 表名 set 字段名=字段值,字段名=字段值...
帶條件過濾,使用關(guān)鍵字 where
update 表名 set 字段名=字段值.字段名=字段值...where 過濾的條件
【刪除表數(shù)據(jù)】
使用關(guān)鍵字 : delete(刪除) from(來自)
格式:
delete from 表名 [where 過濾條件]
delete from 表名 : 刪除標(biāo)作用的所有數(shù)據(jù),但是不會(huì)刪除主鍵自增
truncate table 表名 : 刪除表中的所有數(shù)據(jù),會(huì)刪除主鍵自增,讓主鍵自增重置,從1開始
【主鍵約束】
使用關(guān)鍵字 : primary 可以
作用:
約束主鍵列不能為null
不能重復(fù)
每一個(gè)表必須有一個(gè)主鍵,且只能有一個(gè)主鍵
主鍵不能使用業(yè)務(wù)數(shù)據(jù)
●--添加主鍵的第一種方式,在列名之后直接添加(創(chuàng)建表的時(shí)候直接添加)
●--添加主鍵的第二種方式,使用constraint區(qū)域
[constraint 名稱] primary key (字段列表);
如果不給出主鍵的名字,可以省略關(guān)鍵字 constraint
●--添加主鍵的第三種方式,創(chuàng)建表之后,通過修改表結(jié)構(gòu),添加主鍵
alter table 表名 add [constraint 名稱] primary key (字段列表);
●--刪除主鍵
alter table 表名 drop primary key ;
●--聯(lián)合主鍵 : 使用2個(gè)以上的字段為主鍵
create table 表名(
字段 數(shù)據(jù)類型[長(zhǎng)度],
字段 數(shù)據(jù)類型[長(zhǎng)度],
...
primary key(字段, 字段)
);
【非空約束】
使用關(guān)鍵字 : not null
作用:強(qiáng)制約束某一列不能為null(不接受null值)
●--創(chuàng)建非空約束第一種格式,創(chuàng)建表時(shí),在字段后面直接給出
字段 數(shù)據(jù)類型[長(zhǎng)度] not null ;
●--創(chuàng)建非空約束第二種格式,修改表結(jié)構(gòu)
alter table 表名 modify 列名 數(shù)據(jù)類型[長(zhǎng)度] [約束];
●--刪除非空約束
alter table 表名 modify 列名 數(shù)據(jù)類型[長(zhǎng)度];
【唯一約束】
使用關(guān)鍵子: unique
作用:添加了唯一約束的字段,不能重復(fù)
●--創(chuàng)建唯一約束的第一種格式,創(chuàng)建表時(shí),在字段后直接給出
字段 數(shù)據(jù)類型[長(zhǎng)度] unique ;
●--創(chuàng)建唯一約束的第二種格式,創(chuàng)建表時(shí)使用 [constraint 名稱] unique (字段列表)
create table 表名(
字段1 數(shù)據(jù)類型[長(zhǎng)度],
字段2 數(shù)據(jù)類型[長(zhǎng)度],
...
constraint unique(字段2)
);
●--創(chuàng)建唯一約束的第三種格式,創(chuàng)建表之后,修改表數(shù)據(jù)
alter table 表名 modify 列名 類型[長(zhǎng)度] unique ;
●--刪除唯一約束
alter table 表名 drop index 名稱
定義約束的時(shí)候,如果沒有創(chuàng)建名稱,則名稱為字符串(字段),如果創(chuàng)建了名稱,就寫創(chuàng)建時(shí)的名稱
【默認(rèn)約束】
給字段添加一個(gè)默認(rèn)值,如果字段沒有插入值,則使用默認(rèn)值
使用關(guān)鍵字: default 值
●--創(chuàng)建默認(rèn)約束方式一,創(chuàng)建表,列數(shù)據(jù)類型后面 default '默認(rèn)值'
●--創(chuàng)建默認(rèn)約束方式二,修改表結(jié)構(gòu)
alter table 表名 modify 列名 數(shù)據(jù)類型[長(zhǎng)度] default '默認(rèn)值' ;
●--刪除默認(rèn)約束
alter table 表名 modify 列名 數(shù)據(jù)類型[長(zhǎng)度] ;
轉(zhuǎn)載于:https://www.cnblogs.com/jia-/p/7078363.html
總結(jié)
以上是生活随笔為你收集整理的我的学习之路_第十八章_SQL语句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python基础之最大公约数与最小公倍数
- 下一篇: JSON 总结