這篇文章主要為大家展示了“MySQL基礎(chǔ)常用命令有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“MySQL基礎(chǔ)常用命令有哪些”這篇文章吧。
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比黃平網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式黃平網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋黃平地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。
mysql -uroot -p /*如果剛安裝好MySQL,root是沒有密碼的*/
mysql> mysql -h292.168.206.100 -uroot -p12345678; /*u與root可以不加空格*/
mysql> exit/quit;
mysql> mysqladmin -uroot newpassword; -- 因?yàn)殚_始時(shí)root沒有密碼,所以-p舊密碼 可以省略
mysql> mysqladmin -uroot -p123456 password 12345678;
3、使用set passsword命令修改密碼:
mysql> set password for 用戶名@localhost = password('新密碼');
4、忘記root密碼情況下:
mysqld --skip-grant-tables mysql> use mysql; --連接權(quán)限數(shù)據(jù)庫 mysql> update user set password=password("新密碼") where user="root"; -- 改密碼 mysql> flush privileges; -- 刷新權(quán)限 mysql> quit; -- 退出mysql
1、創(chuàng)建數(shù)據(jù)庫(Create)
mysql> create database db_name; -- 創(chuàng)建數(shù)據(jù)庫 mysql> show databases; -- 顯示所有的數(shù)據(jù)庫 mysql> drop database db_name; -- 刪除數(shù)據(jù)庫 mysql> use db_name; -- 選擇數(shù)據(jù)庫 mysql> create table tb_name (字段名 varchar(20), 字段名 char(1)); -- 創(chuàng)建數(shù)據(jù)表模板 mysql> show tables; -- 顯示數(shù)據(jù)表 mysql> desc tb_name; -- 顯示表結(jié)構(gòu) mysql> drop table tb_name; -- 刪除表
例如:
/*創(chuàng)建學(xué)生表*/ create table Student( Sno char(10) primary key, Sname char(20) unique, Ssex char(2), Sage smallint, Sdept char(20) );
2、插入數(shù)據(jù)(Insert)
/*第一種形式無需指定要插入數(shù)據(jù)的列名,只需提供被插入的值即可:*/ mysql> insert into tb_name values (value1,value2,value3,...); /*第二種形式需要指定列名及被插入的值:*/ mysql> insert into tb_name (column1,column2,column3,...) values (value1,value2,value3,...);
/*插入數(shù)據(jù)*/ mysql> insert into Student values ( 20180001,張三,男,20,CS); mysql> insert into Student values ( 20180002,李四,男,19,CS); mysql> insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ( 20180003,王五,男,18,MA); mysql> insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ( 20180004,趙六,男,20,IS);
3、查詢數(shù)據(jù)(Select)
使用select對列進(jìn)行查詢時(shí),不僅可以直接以列的原始值作為結(jié)果,而且還可以將列值進(jìn)行計(jì)算后所得值作為查詢結(jié)果,即select子句可以查詢表達(dá)式的值,表達(dá)式可由列名、常量及算術(shù)運(yùn)算符組成。
查詢結(jié)果計(jì)算列顯示“無列名”,一般要給計(jì)算列加列標(biāo)題。
其中:表達(dá)式中可以使用的運(yùn)算符有:加+、減-、乘*、除/、取余%
模板:select <字符型字段>,<字符型字段>,列標(biāo)題 = <字符型字段> * n from tb_name;
格式: select [all|distinct] [top n[percent]]<目標(biāo)列表達(dá)式列表> from 表名
使用top選項(xiàng)可限制查詢結(jié)果的返回行數(shù),即返回指定個(gè)數(shù)的記錄數(shù)。
其中:n是一個(gè)正整數(shù),表示返回查詢結(jié)果集的前n行;若帶percent關(guān)鍵字,則表示返回結(jié)果集的前n%行。
模板:celect top n from tb_name; /*查詢前 n 的數(shù)據(jù)*/
模板:celect top n percent from tb_name; /*查詢前 n% tb_name的數(shù)據(jù)*/
通過where子句實(shí)現(xiàn),該子句必須緊跟在From子句之后。
格式為:select [all|distinct] [top n[percent]]<目標(biāo)列表達(dá)式列表> from 表名 where <條件>;
說明:在查詢條件中可使用以下運(yùn)算符或表達(dá)式:
運(yùn)算符 運(yùn)算符標(biāo)識
比較運(yùn)算符 <=,<,=,>,>=,!=,<>,!>,!<
范圍運(yùn)算符 between... and,not between... and
列舉運(yùn)算符 in,not in
模糊匹配運(yùn)算符 like,not like
空值運(yùn)算符 is null,is not null
邏輯運(yùn)算符 and,or,not
模板:select * from tb_name where <字符型字段> >= n ;
使用in關(guān)鍵字可以指定一個(gè)值的集合,集合中列出所有可能的值,當(dāng)表達(dá)式的值與集合中的任一元素個(gè)匹配時(shí),即返回true,否則返回false。
模板:select * from tb_name where <字符型字段> [not] in(值1,值2,...,值n);
可用like 子句進(jìn)行字符串的模糊匹配查詢,like子句將返回邏輯值(true或False)。
like子句的格式: select * from tb_name where <字符型字段> [not] like <匹配串>;
其含義是:查找指定字段值與匹配串相匹配的記錄。匹配串中通常含有通配符%和_(下劃線)。
其中: %:代表任意長度(包括0)的字符串
當(dāng)需要判定一個(gè)表達(dá)式的值是否為空值時(shí),使用 is null關(guān)鍵字。
當(dāng)不使用not時(shí),若表達(dá)式的值為空值,則返回true,否則返回false;當(dāng)使用not時(shí),結(jié)果剛好相反。
模板:select * from tb_name where <字符型字段> is [not] null;
邏輯運(yùn)算符and(與:兩個(gè)條件都要滿足)和or(或:滿足其中一個(gè)條件即可)可用來聯(lián)接多個(gè)查詢條件。and的優(yōu)先級高于or,但若使用括號可以改變優(yōu)先級。
模板:select * from tb_name where <字符型字段> = 'volues' and <字符型字段> > n;
order by子句可用于對查詢結(jié)果按照一個(gè)或多個(gè)字段的值(或表達(dá)式的值)進(jìn)行升序(ASC)或降序(DESC)排列,默認(rèn)為升序。
格式:order by {排序表達(dá)式[ASC|DESC]}[,...n];
其中:排序表達(dá)式既可以是單個(gè)的一個(gè)字段,也可以是由字段、函數(shù)、常量等組成的表達(dá)式,或一個(gè)正整數(shù)。
模板:select * from tb_name order by <排序表達(dá)式> <排序方法>;
在對表進(jìn)行檢索時(shí),經(jīng)常需要對結(jié)果進(jìn)行計(jì)算或統(tǒng)計(jì),T-SQL提供了一些統(tǒng)計(jì)函數(shù)(也稱集函數(shù)或聚合函數(shù)),用來增強(qiáng)檢索功能。統(tǒng)計(jì)函數(shù)用于計(jì)算表中的數(shù)據(jù),即利用這些函數(shù)對一組數(shù)據(jù)進(jìn)行計(jì)算,并返回單一的值。
常用統(tǒng)計(jì)函數(shù)表
函數(shù)名 功能
AVG 求平均值
count 求記錄個(gè)數(shù),返回int類型整數(shù)
max 求最大值
min 求最小值
sum 求和
功能:求指定的數(shù)值型表達(dá)式的和或平均值。
模板:select avg(<字符型字段>) as 平均數(shù),sum(<字符型字段>) as 總數(shù) from tb_name where <字符型字段> ='字符串';
功能:求指定表達(dá)式的最大值或最小值。
模板:select max(<字符型字段>) as 最大值,min(<字符型字段>) as 最小值 from tb_name;
該函數(shù)有兩種格式:count(*)和count([all]|[distinct] 字段名),為避免出錯(cuò),查詢記錄個(gè)數(shù)一般使用count(*),而查詢某字段有幾種取值用count(distinct 字段名)。
(1).count(*):
功能:統(tǒng)計(jì)記錄總數(shù)。
模板:select count(*) as 總數(shù) from tb_name;
(2).count([all]|[distinct] 字段名)
功能:統(tǒng)計(jì)指定字段值不為空的記錄個(gè)數(shù),字段的數(shù)據(jù)類型可以是text、image、ntext、uniqueidentifier之外的任何類型。
模板:select count(<字符型字段>) as 總數(shù) from tb_name;
group by子句用于將查詢結(jié)果表按某一列或多列值進(jìn)行分組,列值相等的為一組,每組統(tǒng)計(jì)出一個(gè)結(jié)果。該子句常與統(tǒng)計(jì)函數(shù)一起使用進(jìn)行分組統(tǒng)計(jì)。
格式為:group by 分組字段[,...n][having <條件表達(dá)式>];
4、修改數(shù)據(jù)(Update)
5、刪除數(shù)據(jù)(Delete)
mysql> alter table MyClass add passtest int(4) default '0';
mysql> alter table Person add age int,add address varchar(11);
mysql> alter table Person drop column age,drop column address;
mysql> alter table `student` modify column `id` comment '學(xué)號';
mysql> alter table employee add index emp_name (name);
mysql> alter table employee add primary key(id);
mysql> alter table employee add unique emp_name2(cardnumber);
mysql>alter table employee drop index emp_name;
mysql> ALTER TABLE table_name ADD field_name field_type;
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
MySQL ALTER TABLE table_name DROP field_name;
學(xué)號 Sno | 姓名 Sname | 性別 Ssex | 年齡 Sage | 所在系 Sdept |
---|---|---|---|---|
20180001 | 張三 | 男 | 20 | CS |
20180002 | 李四 | 男 | 19 | CS |
20180003 | 王五 | 男 | 18 | MA |
20180004 | 趙六 | 男 | 20 | IS |
課程號 Cno | 課程名 Cname | 先修課 Cpno | 學(xué)分 Ccredit |
---|---|---|---|
1 | 數(shù)據(jù)庫 | 5 | 4 |
2 | 數(shù)學(xué) | 2 | |
3 | 信息系統(tǒng) | 1 | 4 |
4 | 操作系統(tǒng) | 6 | 3 |
5 | 數(shù)據(jù)結(jié)構(gòu) | 7 | 4 |
6 | 數(shù)據(jù)處理 | 2 | |
7 | PASCAL語言 | 6 | 4 |
學(xué)號 Sno | 課程號 Cno | 成績 Grade |
---|---|---|
20180001 | 1 | 92 |
20180001 | 2 | 85 |
20180001 | 3 | 88 |
20180002 | 2 | 90 |
20180002 | 3 | 80 |
建立一個(gè)“學(xué)生”表Student:
create table Student( Sno char(9) peimary key, /*列級完整性約束條件,Sno是主碼*/ Sname char(20) unique, /* Sname取唯一值*/ Ssex char(2), Sage smallint, Sdept char(20) );
create table Course( Sno char(4) primary key, /*列級完整性約束條件,Cname不能取空值*/ Sname char(40) not null, /*Cpno的含義是先修課*/ Cpno char(4) Ccredit smallint, foreign key (Cpnoo) references Course(Cno) /*表級完整性約束條件,Cpno是外碼,被參照表是Course,被參照列是Cno*/ );
create table SC( Sno char(9), Cno char(4), Grade smallint, frimary key (Sno,Cno), /*主碼由兩個(gè)屬性構(gòu)成,必須作為表級完整性進(jìn)行定義*/ foreign key (Sno) references Student(Sno), /*表級完整性約束條件,Sno是外碼,被參照表是Student*/ foreign key (Cno) references Course(Cno) /*表級完整性約束條件,Cno是外碼,被參照表是Course */ );
以上是“MySQL基礎(chǔ)常用命令有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!