文章目錄
數據庫的基本概念
數據庫(database),簡稱DB。
概念:
- 用於存儲和管理數據的倉庫。
特點:
i. 持久化存儲數據的,其實數據庫說白了就是一個向我們電腦的一個文件系統。
ii.方便存儲和管理數據。
iii.操作是用統一的方式 —sql語句
配置
MySQL 服務啓動
1.手動。
https://blog.csdn.net/qq_43674360/article/details/105242325
2.cmd services.msc 打開服務窗口。同一 。(相對快一點)
3.使用管理員打開cmd
net start mysql :啓動mysql 服務。
net stop mysql :停止服務。
注意:這裏的mysql 是服務裏面下面名字,比如我的服務名沒改是mysql57 .看下圖。
則啓動命令就是:
net start mysql57
這裏一定要注意這個細節。
mysql 命令窗口登錄。
輸入 :mysql -u root -p
退出命令:
1.exit (很多程序軟件的一下相關的命令都是相同的,exit 譯爲逃走,不想寫了就走哈哈)
2.quit (停止 )
SQL 介紹
structured query language 結構化查詢語言。
顧名思義 ,就是定義操作所以關係型的數據庫的規則,每一種數據庫的操作方法都存在不一樣的地方。 稱爲“方言”。
sql 語句語法規則
1.sql 語句可以單行或者可以多行,以分號結尾。
看下:
這個是單行的,只要不已分號結尾,看下
2.可以使用空格和縮進來增強語句的可讀性。
3.mysql 數據庫的 sql語句不區分大小寫,關鍵字建議使用大寫。
4. 3種註釋。
i . 單行註釋: – 註釋內容。 或 # 註釋內容(mysql特有)
ii. 多行註釋:/* 註釋內容 */
sql 分類
這些網上都有,只看你怎麼記憶。
1.DDL (date definition language )數據定義語言
2.DML (date manipulation language) 數據操作語言
3. DQL (data query language ) 數據查詢語言
4. DCL (data control language )數據控制語言。
DDL: 操作數據庫,表
1.創建數據庫:
create database [database name] ;
創建數據庫 ,判斷不存在,再創建:
create database if not exists [database name];
創建數據庫,並指定字符集
create database [datebase name] character set 字
符集名稱。
2.查詢所有數據庫名稱:
show databases ;
3.修改 數據庫的字符集
alter 數據庫名稱 character set 字符集名稱;
4.刪除數據庫
drop database 數據庫名稱;
判讀數據是否存在,再刪除,
drop database if exists 數據庫名稱;
5.查詢當前正在使用的數據庫名稱 當前爲空null,下面用use 來改變。
select database ();
使用數據庫
use 數據庫名稱 ;
操作表
1,語法:
create table 表名(
列名1, 數據類型1,
列名2, 數據類型2,
…
);
數據類型 :
1,int :整數類型
age int,
2.double:小數類型
score double (4,2);
3,date :日期 ,
4.datetime :日期 包含年月時分秒 yyyy-mm-dd hh:mm:ss
5,timetamp 時間錯類型 。同4,但是如果將來補個這個字段賦值,或賦值爲null,則默認當前系統時間。
6.varchar :字符串。
name varchar(20);
zhangsan 8個字符,張三 2個字符,
創建表
create table student(
id int,
name varchar(32),
age int,
score double(4,1),
birthday date,
insert_time timestamp
);
複製表:
create table 表名 like 被複制的表名;
1.查詢某個數據庫中所有表名
show tables;
查詢表的結構;
desc 表名;(這個很重要,怎麼記憶呢?首先訥,d e代表data table ,sc 代表目錄結構。連接起來就是數據表的結構搜尋 :)
修改
修改表名
alter table 表名 rename to 新的表名;
查看student2;
修改表的字符集
alter table 表名 character set 字符集類型;
添加一列
alter table 表名 add 列名 數據類型;
修改列名稱 類型
alter table 表名 change 列名 新列名 新數據類型;
刪除列
alter table 表名 drop 列名;
刪除
drop table 表名;
drop table if exists 表名;
DML :增刪改表中的數據
1.添加數據
語法 :
insert into 表名(列名1,列名2,…) values(值1,值2,…);
提示:
i.列名和值要一一對應。
ii. 如果表名後不定義列名,則默認給所有列添加值。
insert into 表名 values (值1,,,,)
3.除了數字類型,其他類型需要使用引號(這裏單雙都可)引起來。
2.刪除數據:
語法
delete from 表名 where 條件
提示:
1.如果不加條件的話,則刪除表中所有記錄。
2.如果要刪除所有記錄,
i. delete from 表名; 不推薦使用,
ii. truncate table 表名 ;推薦(釋放空間,不回滾)
####### 3.修改數據:
語法:
update 表名 set 列名 =值1 ,列名=值2,,,[where 條件];
DQL :查詢表中的記錄
select * from 表名;
1.語法:
select
字段列表
from
表名列表
where
條件列表
group by
分組字段
having
分組之後的條件
order by
排序
limit by
分頁限定
一般查詢
2.條件查詢
1.where子句後跟條件
2.運算符
>, <, <=, >=, =, <>(不等於)
不等於:<> 或 !=
BETWEEN AND 字面意思,包頭又包尾
IN 集合,表示多個值,使用逗號分隔
LIKE'張%' 模糊查詢
IS NULL 查詢某一列爲NULL的值,注:不能寫成=NULL
and(推薦使用) 或 && 且
or 或 | | 或
not 或 ! 非
比如:
3模糊查詢(重點)
```sql
LIKE:模糊查詢
佔位符:
_:單個任意字符
%:多個任意字符
例如:
查詢姓張的人有哪些
select * from user where username like '張%';
查詢姓名第二個字是三
select * from user where username like '_三
%';