Centos之數據庫基礎

前言

以前已經學過MySQL基礎語法和最基本使用,今天在Linux課上再次學習了MySQL。於是再總結一下:

相關概念

在這裏插入圖片描述

關係型數據庫和非關係型數據庫

關係型數據庫:SQLServer、Oracle、MySQL、DB2、SQLite等
非關係型數據庫:MongoDB、Redis、NoSQL、Memcache等

  • 關係型數據庫:指採用了關係模型來組織數據的數據庫。簡單來說,關係模型指的就是二維表格模型,而一個關係型數據庫就是由二維表及其之間的聯繫組成的一個數據組織。
  • 非關係型數據庫:非關係型數據庫嚴格,上說不是一-種數據庫,是一種數據結構化儲存方法的集合。

數據庫組成

數據庫:存儲數據
數據庫管理系統(DBMS) :
用戶管理數據庫的的程序,維護數據庫的安全、完整、可靠性
關鍵詞: 數據庫、數據表、記錄、字段、主鍵… .

安裝使用MySQL

安裝MySQL

yum -y install mysql mysql-server

在這裏插入圖片描述
開啓服務

service mysqld start

在這裏插入圖片描述
查看mysql進程開啓情況

ps -elf | grep mysqld

在這裏插入圖片描述
查看開放端口,mysql使用3306端口

netstat -anpt

在這裏插入圖片描述
無密碼登錄mysql

mysql

在這裏插入圖片描述
mysql設置密碼並登錄

mysqladmin -u root password 'qwzf123'
mysql -u root -p

在這裏插入圖片描述
SQL基礎查看命令

show databases; #查看數據庫
use mysql; #使用mysql數據庫
show tables;#查看錶
describe user; #查看錶結構,也可使用:desc 表名;

在這裏插入圖片描述
在這裏插入圖片描述
創建數據庫

show databases; #查看數據庫
create database mydata; #創建mydata數據庫
create database test123; #創建test123數據庫
show databases;
drop database test123; #刪除test123數據庫
show databases;

在這裏插入圖片描述
創建數據表
(1)創建users表

use mydata;
create table users(id int,name char(15),sex enum('male','female'),tel char(15)); #創建users表
describe users; #查看錶結構

在這裏插入圖片描述
聲明主鍵
users表忘了聲明主鍵,用下面方式聲明

alter table users add primary key(id);
#聲明之後,變成了非空

(2)創建yuanxi表
在這裏插入圖片描述

create table yuanxi(name char(30),id tinyint unsigned primary key,stunum int,teachernum int); #創建yuanxi表,同時聲明id爲主鍵
describe yuanxi; #查看錶結構

在這裏插入圖片描述
(3)創建sushe表

create table sushe(id char(7) not null,stunum tinyint unsigned,address char(30),sex enum('male','female') default 'female',tel char(15) not null,primary key(id)); #創建sushe表,同時聲明id爲主鍵
describe sushe; #查看錶結構

在這裏插入圖片描述
(4)創建id字增的test表

create table student(id int unsigned auto_increment,name char(15),age int,primary key (id));
describe sushe; #查看錶結構

插入記錄
(1)插入單條記錄

insert into users(id,name,sex,tel) values(1,'qwzf','male','15093000000');
insert into users(id,name,sex,tel) values(2,'wmm','male','15193000000');
insert into users(id,name,sex,tel) values(3,'xiaowang','male','13983000000');
insert into users values(4,'qqq','female','18983000000');

查看記錄

select * from users;

在這裏插入圖片描述
成功插入記錄。
(2)插入多條記錄

insert into users values(5,'admin','female','18383000000'),(6,'qwzf1024','male','13583000000');

查看記錄

select * from users;

在這裏插入圖片描述
成功插入兩條記錄
修改記錄

update users set id=8 where name='wmm';
select * from users;#查看記錄

在這裏插入圖片描述
成功將name爲wmm的記錄的id字段修改爲8
刪除記錄

delete from users where name='xiaowang';
select * from users;#查看記錄

在這裏插入圖片描述
成功刪除name爲xiaowang的記錄

實驗

新建數據庫shuku,創建表books,設置序號、書名、作者、價格、發佈日期、說明,第幾集等字段:

create database shuku;
show databases;
use shuku;
#創建books表,設置序號、書名、作者、價格、發佈日期、說明,集數。同時集數添加auto_increment屬性設爲自動分配,並且將集數設置成主鍵
create table books(xuhao char(20),bookname char(30),author char(15),price float,riqi date,shows char(100),jishu int unsigned auto_increment,primary key (jishu));

在這裏插入圖片描述
a、不指定字段名稱,插入第一集的書籍

#不指定字段名,插入一條記錄
insert into books values(1001,'Linux','gao jun feng',89.5,'2016-02-01','Linux study',1);
select * from books;

在這裏插入圖片描述
b、同時插入多條數據(不指定集數,自動分配) auto_increment

#插入多條記錄,不指定集數,自動分配
insert into books(xuhao,bookname,author,price,riqi,shows) values(1002,'jisuanjiwangluo','xie xi ren',49.8,'2015-04-03','wangluomoxing study'), (1003,'caozuoxitong','wang song jia',39.5,'2015-06-04','study caozuoxitong'), (1004,'gai lv lun','tang xiao dan',35.8,'2016-08-23','math study'), (1005,'Python','yin li shuang',63.5,'2018-04-20','study Python'), (1006,'Web anquan','niu yong',0,'2019-08-20','Web anquan gongfang');
select * from books;

在這裏插入圖片描述
c、修改第2集到第5集的作者

update books set author='qwzf' where jishu between 2 and 5;
select * from books;

在這裏插入圖片描述
d、將第三集的價格改爲0

update books set price=0 where jishu=3;
select * from books;

在這裏插入圖片描述
e、刪除價格爲0的書籍

delete from books where price=0;
select * from books;

在這裏插入圖片描述
好了,實驗完畢。

後記

基本沒太大收穫,基本都是之前學過的。我最大的收穫應該就是使用主鍵和使用auto_increment屬性進行自動分配。好了,總結完畢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章