mysql查詢命令的問題 MySQL常見問題和命令

2021-10-18 05:33:58 字數 2666 閱讀 5174

問題:

1、centos mysql啟動失敗:關閉selinux, vi /etc/selinux/config, 設定selinux=disabled,重啟電腦;

命令:停止、啟動mysql伺服器:/etc/init.d/mysqld

ddl(data definition languages)

一、資料庫相關

建立資料庫:              create database test1;

檢視資料庫:              show databases;

使用資料庫:              use test1;

刪除資料庫:              drop database test1;

二、表相關

建立表:                    create table student(name varchar(10) primary key, birthday date, weight decimal(10,2), age int(3));

檢視資料庫的所有表:   show tables;

檢視表定義:              desc student;

檢視建立表的sql語句:show create table student \g;  (\g,表示分列顯示)

刪除表:                    drop table student;

修改表:

1、修改字段型別:   alter table student modify column name varchar(20) first;      //first表示將該列設為第一列,同樣適用於其他修改表命令

2、修改欄位名稱:   alter table student change column age age1 varchar(20);        //同時也要指定字段型別

3、增加表字段:      alter table student add column score int(3) after name;          //after表示插入的列位於name列後,該關鍵字同樣適用於其他修改表命令         4、刪除表字段:      alter table student drop column score;

5、修改表名稱:      alter table student rename student1;

6、修改表的儲存引擎: alter table student engine=innodb;

dml(data manipulation language)

插入記錄:                 insert into student (name, birthday) values ('pape', 19880522);

insert into student (name, birthday, weight, age) values ('a', 19880522, 60, 22), ('b', 19880523, 70, 25), ('c', 19890312, 55, 22);                                  //插入多行

更新記錄:                 update student set weight=65, age=26 where name='a';

先嘗試更新,失敗後插入 replace into student (name,birthday) values('pape',19880522)

刪除記錄:                 delete from student where name='a';

查詢記錄:

1、查詢不重記錄:   select distinct age from student;

2、條件查詢:         select * from student where age=23 and weight>60;

3、排序和限制:      select * from student order by age desc limit 1,3;

4、聚合:              select name, count(1) from student group by age;

select sum(name), max(age), min(weight) from student;

5、表連線:            select name,age from student,student1 where student.number=student1.number;

6、子查詢:            select * from student where number in(select number from student1);

7、記錄聯合:        select name from student union all select name from student1;  //如果要去重,將union all改為union

dcl(data control language)

授權:                       grant select,insert on test1.* to 'pape'@'localhost' identified by '1234';

收回授權:                 revoke insert on test1.*from 'pape'@'localhost';

可以通過? int; ? show;等進行幫助查詢。

mysql離散查詢 如何寫出高效能的MySQL查詢

想寫這樣一篇文章很久了,但始終沒有下手。最近幫同事看了幾個查詢,而且自己也在考慮乙個索引系統的問題,所以今天就把這個寫了。介紹一下mysql的索引機制,還有一些mysql查詢的優化策略。鄙人才疏學淺,很可能說的不對,請路過的各位大俠批評指正,獻醜了。首先,說說mysql的索引儲存方式。mysql的索...

mysql命令查詢

含義 命令檢視gtid是否開啟 show variables like gtid 檢視唯讀資訊 show global variables like read only set global read only 1 read only 1唯讀模式,可以限定普通使用者進行資料修改的操作,但不會限定具有...

mysql中 變數 MYSQL中的變數 MySQL

bitscn.com 只記很基礎的知識,細節東西太麻煩了,而且我也用不到。變數分為使用者變數與系統變數。使用者變數 使用者變數與資料庫連線有關,在這個連線中宣告的變數,在連線斷開的時候,就會消失。在此連線中宣告的變數無法在另一連線中使用。使用者變數的變數名的形式為 varname的形式。名字必須以 ...