數據庫相關的增刪改查操作——SQL語句及演示(Mysql學習系列一)

初識數據庫

什麼是DB

DataBase:數據庫,數據庫實際上就是一個文件集合,本質就是一個文件系統,數據按照特定的格式存儲到文件中,使用sql語言對數據進行增刪改查操作.

爲什麼不用IO流存儲數據

IO流文件存儲有一下弊端
1. 效率低(開發效率低,執行效率也低)
2. 數據的增刪改查非常麻煩
3. 只能保存小量數據
4. 只能存儲文本數據

什麼是DBMS

DataBaseManagementSystem:數據庫管理系統,管理數據庫文件的軟件

  • 指一種操作和管理數據庫的大型軟件,用於建立,使用和維護數據庫,對數據進行統一的管理和控制,用戶通過DBMS訪問數據庫中的數據
    常見:mysql oracle db2 sqlserver sqlite …

開始學習MySQL

連接數據庫

- 首先要啓動數據庫,選擇手動,可以使用命令查看服務是否啓動:
		net start mysql;
- 打開終端或命令行 在終端中輸入以下命令:(進入MySQL數據庫,後面沒有分號)
	mysql -uroot -p然後敲回車(輸入密碼),然後再敲回車  
- 退出指令: exit;

在這裏插入圖片描述

什麼sql

Stuctured Query Language: 結構化查詢語言,使用sql語言和數據庫服務器進行交互,通過sql告訴數據庫服務器對數據進行什麼操作.

sql規範

1. 以;(分號)結尾
2. 關鍵字之間有空格,通常只有一個,但多個也可以
3. 可以存在換行
4. 數據庫名稱和表名稱區分大小寫

數據庫相關的SQL

1.查看數據庫
show databases;
2.創建數據庫
-格式: create database 數據庫名 
	  create database mydb1;
-指定字符集: create database mydb2 character set gbk;
3.查看指定的數據庫
	show create database mydb2;
4.刪除數據庫
	drop database mydb1;
5.使用數據庫
	use db1;

在這裏插入圖片描述

與表相關的SQL

注意:在創建表之前先選擇所要使用的數據庫。創建表sql語句的執行過程: 在終端中寫完sql語句後敲回車終端會把sql通過網絡傳輸到DBMS(mysql),DBMS對sql語句進行解析,然後對數據庫中的數據進行操作

1. 創建表
-格式: create table 表名(字段1名 字段1類型, 字段2名 字段2類型,.....);
	create table stu(id int,name varchar(10),age int, chinese int, 
	math int,english int);
		
練習:創建英雄表hero  字段(id name type sal)
	create table hero(id int,name varchar(10),type varchar(10),sal int);
2. 查看所有表
	show tables;
3. 查看指定表詳情 和 表的字段信息
	-格式:show create table 表名;
	-格式:desc 表名;
4. 創建表指定引擎和字符集
	create table t1(id int,name varchar(10)) engine=myisam charset=gbk;
5. 刪除表
	drop table t1;

表的引擎

1. innodb:支持數據庫的高級操作,包括:事務 外鍵等
2. myisam:僅支持數據的增刪改查操作

表的修改

對db1數據庫中的person表進行修改

use db1;
create table person(id int,name varchar(10));

1. 修改表的名稱
	-格式: rename table 原名 to 新名;
	rename table person to t_person;
	
2. 修改表的引擎和字符集
	-格式: alter table 表名 engine=myisam charset=gbk;
	alter table t_person engine=myisam charset=gbk;
	show create table t_person;
	
3. 添加表的字段
	-最後面格式: alter table 表名 add 字段名 字段類型;
		alter table t_person add age int;
		desc t_person;
	-最前面格式: alter table 表名 add 字段名 字段類型 first;
		alter table t_person add chinese int first;
	-某個字段的後面格式: alter table 表名 add 字段名 字段類型 after 字段名;	
		alter table t_person add math int after id;
		
4. 刪除字段
	-格式:alter table 表名 drop 字段名;
		alter table t_person drop chinese;
		
5. 修改字段名稱和類型
	-格式:alter table 表名 change 原字段名 新字段名 字段類型
	alter table t_person change age myage int;

6. 修改字段的類型和位置
	-格式:alter table 表名 modify 字段名 字段類型 first/after xxx;
	alter table t_person modify myage int after id;

與數據相關的SQL

對錶t_stu操作
create table t_stu(id int,name varchar(10),age int);

1. 插入數據---insert into 表名 values
-全表插入:要求插入的數據的數量和順序要和表字段的數量順序一致
		格式:insert into 表名 values(值1,值2,值3....);
		insert into t_stu values(1,'小曾',20);
-指定字段插入
		格式:insert into 表名 (字段1,字段2...) values(值1,值2...);
		insert into t_stu (id,name) values(2,'小王');
-批量插入:
		insert into t_stu values(3,'悟空',23),(4,'八戒',20),(5,'沙僧',18);
		insert into t_stu (id,name) values(6,'劉備'),(7,'關羽'),(8,'貂蟬');
2. 查詢數據
		select * from t_stu;
		select name,age from t_stu;

3. 刪除數據
	delete from t_stu where name='八戒';
	delete from t_stu where age is null;
	
4. 修改數據
	update t_stu set name='張三' where id=1;
	update t_stu set name='捲簾大將',age=200 where id=5;

在這裏插入圖片描述

windows電腦出現命令行中無法插入中文數據的解決方案

在建立數據庫和表的時候先設置編碼格式
在這裏插入圖片描述

小結

##數據庫相關
create database db1 character set utf8;
show databases;
show create database db1;
drop database db1;
use db1;
##表相關
create table t1 (id int,name varchar(10));
show tables;
show create table t1;
desc t1;
drop table t1;
rename table t1 to t2;
alter table t1 engine=myisam charset=gbk;
alter table t1 add age int first/after xxx;
alter table t1 drop age;
alter table t1 change age myage int;
alter table t1 modify myage int first/after xxx;
##數據相關
insert into t1 (id,name,age) values(a,b,c),(a2,b2,c2);
select id,name from t1;
update t1 set a=1,b=2 where id=1;
delete from t1 where id=1;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章