mysql服務
1 mysql命令
客戶端(mysql.cnf)命令? \c--ctrl c \s--顯示當前狀態 \r--客戶端重新連接 \h--查看幫助信息 exit退出客戶端 \G--垂直格式顯示查詢結果
連接MySQL服務器--[root@rocky9 ~]# mysql(mysql -u用戶名 - p'密碼' -h服務端ip -P服務端port -S服務端sock -e "mysql命令")
服務端(mysqld.cnf)命令? sql語句
2 mysql語句
數據庫:create | drop | show?
create database db_name;--創建數據庫? ??
show create database db_name;--查看數據庫創建語句
drop database db_name;--刪除數據庫(一個一個刪)
show databases;--列出所有數據庫
use db_name;--選擇數據庫
數據表:create | drop | show | alter
CREATE TABLE table_name (...);--創建表
【CREATE TABLE student (
id int UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
age tinyint UNSIGNED,
gender ENUM('M','F') default 'M'
)ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4;】
show create table table_name\G;--顯示建表語句
DROP TABLE table_name;--刪除表
ALTER TABLE table_name ...;--修改表結構
【修改表名:ALTER TABLE student RENAME stu;
添加表字段:ALTER TABLE stu ADD phone varchar(11) AFTER name;
FIRST關鍵字指定新列將作為表的第一列:ALTER TABLE stu2 ADD COLUMN id INT FIRST;
刪除字段:ALTER TABLE stu DROP COLUMN gender;
修改字段類型:ALTER TABLE stu MODIFY phone int;
修改字段名稱和類型:ALTER TABLE stu CHANGE COLUMN phone mobile char(11);】
use db_name;show tables;--顯示當前數據庫所有表
show tables from db_name;--從數據庫外邊查看所有表
desc table_name;--顯示表結構? ??
數據:insert | update | delete?
【插入一條數據:insert stu (name,age) values('xiaoming',20);
插入多條數據:INSERT INTO stu (name,age)VALUES('zhangsan',20),('lisi',21),
('wangwu',22);
基于select方式插入數據:insert into stu (name,age) select name,age from stu where id=11;】
根據條件更新數據:update stu SET age=31 WHERE id>15;
指定多條件刪除:delete from stu where ( mobile IS NULL and id=14 );
清空表數據:TRUNCATE TABLE tbl_name; | DELETE FROM tbl_name;
查看:select 顯示內容 from 數據來源 where 條件;
select host,user,password from mysql.user where user ='root';
select id,name from stu where name like 't%';
select avg(age),is_del from stu group by is_del;
select id,name,age from stu order by id desc;[降序]
select distinct age from stu order by age desc;[數據去重]
3 數據類型:char[長度固定 讀取速度快 可能浪費存儲空間]、varchar[長度不固定 節省存儲空間 速度慢]