溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL主要有哪些常用語句

發(fā)布時間:2020-05-14 11:51:09 來源:億速云 閱讀:225 作者:三月 欄目:MySQL數(shù)據(jù)庫

下面講講關(guān)于MySQL主要有哪些常用語句,文字的奧妙在于貼近主題相關(guān)。所以,閑話就不談了,我們直接看下文吧,相信看完MySQL主要有哪些常用語句這篇文章你一定會有所受益。                                  MySQL主要有哪些常用語句                 

數(shù)據(jù)庫(Database)
數(shù)據(jù)表 table
列 column
行 row
冗余
主鍵 primary key
外鍵 foreign key
復(fù)合鍵
索引
參照完整性

MySQL 數(shù)據(jù)類型

三類:數(shù)值、日期/時間和字符串(字符)
數(shù)值
TINYINT 1 字節(jié)(0,255)
SMALLINT 2 字節(jié)(0,65 535)
MEDIUMINT 3 字節(jié)
INT或INTEGER 4 字節(jié) BIGINT 8 字節(jié)
FLOAT 4 字節(jié) DOUBLE 8 字節(jié) DECIMAL

日期時間
DATE 日期值
TIME 時間值或持續(xù)時間
YEAR 年份值
DATETIME 混合日期和時間值
TIMESTAMP 時間戳

字符串
CHAR 0-255字節(jié) 、VARCHAR 0-65535 字節(jié)
BINARY、VARBINARY、BLOB、TEXT、ENUM和SET

事務(wù)是必須滿足4個條件(ACID):
Atomicity(原子性)、Consistency(穩(wěn)定性)、Isolation(隔離性)、Durability(可靠性)

1、事務(wù)的原子性:一組事務(wù),要么成功;要么撤回。
2、穩(wěn)定性 : 有非法數(shù)據(jù)(外鍵約束之類),事務(wù)撤回。
3、隔離性:事務(wù)獨(dú)立運(yùn)行。一個事務(wù)處理后的結(jié)果,影響了其他事務(wù),那么其他事務(wù)會撤回。
事務(wù)的100%隔離,需要犧牲速度。
4、可靠性:軟、硬件崩潰后,InnoDB數(shù)據(jù)表驅(qū)動會利用日志文件重構(gòu)修改。
可靠性和高速度不可兼得, innodb_flush_log_at_trx_commit選項 決定什么時候吧事務(wù)保存到日志里。

命令如下:

mysql> -uroot -p123456 登陸
mysql> grant all on test.* to 'pengshiyu'@'localhost'
    -> identified by '123456'; 創(chuàng)建用戶
mysql> quit  退出

mysql> show databases;  查看數(shù)據(jù)庫
mysql> create database test;  創(chuàng)建數(shù)據(jù)庫
mysql> create database test charset utf8;  指定字符集支持中文
mysql> show create database test;  查看數(shù)據(jù)庫信息
mysql> drop database test;  刪除數(shù)據(jù)庫
mysql> use test;  進(jìn)入數(shù)據(jù)庫

mysql> create table student(
    -> id int auto_increment,
    -> name char(32) not null,
    -> age int not null,
    -> register_data date not null,
    -> primary key (id)
    -> );  創(chuàng)建表
mysql> show tables;  查看表
mysql> desc student;   查看表結(jié)構(gòu)
mysql> describe student;   查看表結(jié)構(gòu)
mysql> show columns from student;  查看表結(jié)構(gòu)
mysql> insert into student(name, age, register_data)
    -> values('tom', 27, '2018-06-25'); 增加記錄
mysql> select * from student;  查詢數(shù)據(jù)
mysql> select * from student\G  按行輸出
mysql> select * from student limit 3;  限制查詢數(shù)量
mysql> select * from student limit 3 offset 5;  丟棄前5條數(shù)
mysql> select * from student where id > 3; 條件查詢
mysql> select * from  student where register_data like "2018-06%";  模糊查詢
mysql> update student set name = 'cxx' where id = 10;  修改
mysql> delete from student where id = 10;  刪除
mysql> select * from student order by age; 排序默認(rèn)ascend
mysql> select * from student order by age desc;  降序descend
mysql> select age,count(*) as num from student group by age; 分組
mysql> select name, sum(age) from student group by name with rollup; 匯總
mysql> select coalesce(name,'sum'), sum(age) from student
    -> group by name with rollup; 匯總?cè)e名

mysql> alter table student add sex enum('M','F');  增加字段
mysql> alter table student drop sex;  刪除字段
mysql> alter table student modify sex enum('M','F') not null; 修改字段類型
mysql> alter table student modify sex
    -> enum('M','F') not null default 'M';  設(shè)置默認(rèn)值
mysql> alter table student change sex gender
    -> enum('M','F') not null default 'M'; 修改字段名稱

mysql> create table study_record(
    -> id int not null primary key auto_increment,
    -> day int not null,
    -> stu_id int not null,
    -> constraint fk_student_key foreign key (stu_id) references student(id)
    -> );命名外鍵約束

創(chuàng)建表
mysql> create table A(a int not null);
mysql> create table B(b int not null);

插入數(shù)據(jù)
mysql> insert into A(a) values (1);
mysql> insert into A(a) values (2);
mysql> insert into A(a) values (3);
mysql> insert into A(a) values (4);

mysql> insert into B(b) values (3);
mysql> insert into B(b) values (4);
mysql> insert into B(b) values (5);
mysql> insert into B(b) values (6);
mysql> insert into B(b) values (7);

交集 內(nèi)連接
mysql> select * from A inner join B on A.a = B.b;
mysql> select a.*, b.* from A inner join B on A.a = B.b;
差集
mysql> select * from A left join B on A.a =B.b; 左外連接
mysql> select * from A right join B on A.a =B.b; 右外連接
并集
mysql> select * from a left join b on a.a=b.b union
    ->  select * from a right join b on a.a = b.b; 全連接

mysql> begin; 開始事務(wù)
mysql> rollback; 回滾事務(wù)
mysql> commit;  提交事務(wù)
mysql> show index from student; 查看索引
mysql> create index name_index on student(name(10)); 創(chuàng)建索引
mysql> drop index name_index on student;刪除索引

對于以上MySQL主要有哪些常用語句相關(guān)內(nèi)容,大家還有什么不明白的地方嗎?或者想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI