基本操作命令
阿新 • • 發佈:2021-02-16
管理資料庫
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
模糊查詢
!
在這裡插入圖片描述