1. 程式人生 > 其它 >基本操作命令

基本操作命令

技術標籤:MySQLMySQLMySQL語法

管理資料庫

mysql -uroot -p    --連線資料庫
mysql -uroot -p123456   --直接使用密碼連結資料庫
--------------------------------------------------
所有的語句都要加;
show databases;--檢視資料庫
use emos --切換或選中資料庫,不需要分號
show tables; --查看錶
create database yin;--建立新表
exit;--退出資料庫

操作資料庫

資料型別

操作表

ALTER TABLE student RENAME
AS student1 //重命名錶名

資料管理

--下邊學習用到的表
create table `grade`(
	`gradeid` int(11) not null auto_increment comment '年級編號',
  `gradename` varchar(50) not null comment '年級名稱',
    primary key (`gradeid`)
) engine=innodb auto_increment = 6 default charset = utf8;

插入

INSERT INTO `grade` (`gradename`)
VALUES(
'大一'),('大二') INSERT INTO `student`(`name`,`age`,`grade`) VALUES('張三',20,'大四'),('李四',20,'大四') /* 語法: INSERT INTO 表名[欄位名,欄位名,....] VALUES(值1,值2),(值1,值2)... 欄位和欄位時間逗號隔開,欄位部分是可以省略的,但插入的數值要一一對應 */ INSERT INTO `student` VALUES(3,'王五',20,'大四')

更新

UPDATE 表名 SET 欄位名=新值 WHERE[條件]  

--修改多個屬性 逗號隔開
UPDATE `student`
SET `age`=21, grade='大四' WHERE id=1 --where 語法用到的操作符操作符 < > = != AND OR UPDATE `student` SET `age`=21, grade='大四' WHERE id=1 UPDATE `student` SET `age`=22 WHERE id BETWEEN 1 AND 3 UPDATE `student` SET `age`=22 WHERE id<2 UPDATE `student` SET `age`=20 WHERE id<3 and id>=2 UPDATE `student` SET `age`=20 WHERE id<3 OR id>=2 UPDATE `student` SET `age`=25 WHERE grade='大四' and id>=2 --另外注意,修改的屬性值要和當前的屬性值為同一種類型

刪除

--語法 : DELETE 欄位 FROM `student`
 --刪除全部資料
 DELETE FROM `student` 
 
 TRUNCATE `student`
 /*
 delete he truncate 的區別:
 truncate 1.重新設定 自增列 計數器歸零 2.不會影響事務
 */
 --刪除指定資料
 DELETE FROM `student` WHERE id=4

查詢

--下邊學習用到的表
--建立年級
create table `grade`(
	`gradeid` int(11) not null auto_increment comment '年級編號',
  `gradename` varchar(50) not null comment '年級名稱',
    primary key (`gradeid`)
) engine=innodb auto_increment = 6 default charset = utf8;

-- 建立科目表
drop table if exists `subject`;
create table `subject`(
	`subjectno`int(11) not null auto_increment comment '課程編號',
    `subjectname` varchar(50) default null comment '課程名稱',
    `classhour` int(4) default null comment '學時',
    `gradeid` int(4) default null comment '年級編號',
    primary key (`subjectno`)
)engine = innodb auto_increment = 19 default charset = utf8;
--建立學生表
create table `student`(
	`studentno` int(4) not null comment '學號',
    `loginpwd` varchar(20) default null,
    `studentname` varchar(20) default null comment '學生姓名',
    `sex` tinyint(1) default null comment '性別,0或1',
    `gradeid` int(11) default null comment '年級編號',
    `phone` varchar(50) not null comment '聯絡電話,允許為空',
    `address` varchar(255) not null comment '地址,允許為空',
    `borndate` datetime default null comment '出生時間',
    `email` varchar (50) not null comment '郵箱賬號允許為空',
    `identitycard` varchar(18) default null comment '身份證號',
    primary key (`studentno`),
    unique key `identitycard`(`identitycard`),
    key `email` (`email`)
)engine=myisam default charset=utf8;
-- 建立成績表


drop table if exists `result`;
create table `result`(
	`studentno` int(4) not null comment '學號',
    `subjectno` int(4) not null comment '課程編號',
    `examdate` datetime not null comment '考試日期',
    `studentresult` int (4) not null comment '考試成績',
    key `subjectno` (`subjectno`)
)engine = innodb default charset = utf8;
-- 插入科目資料
insert into `subject`(`subjectno`,`subjectname`,`classhour`,`gradeid`)values
(1,'高等數學-1',110,1),
(2,'高等數學-2',110,2),
(3,'高等數學-3',100,3),
(4,'高等數學-4',130,4),
(5,'C語言-1',110,1),
(6,'C語言-2',110,2),
(7,'C語言-3',100,3),
(8,'C語言-4',130,4),
(9,'Java程式設計-1',110,1),
(10,'Java程式設計-2',110,2),
(11,'Java程式設計-3',100,3),
(12,'Java程式設計-4',130,4),
(13,'資料庫結構-1',110,1),
(14,'資料庫結構-2',110,2),
(15,'資料庫結構-3',100,3),
(16,'資料庫結構-4',130,4),
(17,'C#基礎',130,1);
--建立學生資料
insert into `student` (`studentno`,`loginpwd`,`studentname`,`sex`,`gradeid`,`phone`,`address`,`borndate`,`email`,`identitycard`)
values
(1000,'123456','張偉',0,2,'13800001234','北京朝陽','1980-1-1','[email protected]','123456198001011234'),
(1001,'123456','趙強',1,3,'13800002222','廣東深圳','1990-1-1','[email protected]','123456199001011233'),
(1002,'123456','小王',1,3,'13800001111','廣東深圳','1990-1-1','[email protected]','123456199001011232'),
('123456','劉洋',1,3,'13800001111','廣東深圳','1990-1-1','[email protected]','123456199001011234'),
('123456','劉洋樣',1,3,'13800001111','廣東深圳','1990-1-1','[email protected]','123456199001011235'),
('123456','王佳',1,3,'13800001111','廣東深圳','1990-1-1','[email protected]','123456199001011236'),
('123456','劉佳祥',1,3,'13800001111','廣東深圳','1990-1-1','[email protected]','123456199001011237');

--建立成績資料
insert into`result`(`studentno`,`subjectno`,`examdate`,`studentresult`)
values
(1000,1,'2013-11-11 16:00:00',85),
(1000,2,'2013-11-12 16:00:00',70),
(1000,3,'2013-11-11 09:00:00',68),
(1000,4,'2013-11-13 16:00:00',98),
(1000,5,'2013-11-14 16:00:00',58);
--建立年級資料
insert into `grade` (`gradeid`,`gradename`) values(1,'大一'),(2,'大二'),(3,'大三'),(4,'大四'),(5,'預科班');
--語法 :SELECT 表示式 FROM 表
注意 select 後邊跟的可看作一個表示式 文字,列,null,函式,計算表示式,變數

 --查詢表全部資料列
 SELECT * FROM student
 
--指定查詢
SELECT name,grade FROM student

--給查詢的某個資料列起別名 
SELECT name as 姓名,grade as 年級 FROM student

--追加內容顯示 CONCAT(str1,str2,...)
SELECT CONCAT('姓名:',name) as 姓名 FROM student 

圖示:
在這裡插入圖片描述

在這裡插入圖片描述

去重

在這裡插入圖片描述
出現數據重複的問題 解決方案 distinct
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述在這裡插入圖片描述
模糊查詢
在這裡插入圖片描述!在這裡插入圖片描述
在這裡插入圖片描述在這裡插入圖片描述在這裡插入圖片描述