初識mysql(每日筆記)
數據庫的基本概念
- 數據庫:DataBase 簡稱DB
- 什麼是數據庫?
- 用於存儲和管理數據的倉庫.
- 數據庫的特點:
- 持久化存儲數據,是將數據存儲在文件中.其實數據庫就是一個文件系統
- 方便存儲和管理數據
- 使用了統一的方式來操作數據庫
- 常見的數據軟件:mysql , oracle , db2 , mongoDB , sql server等
MySQL數據庫軟件
-
配置mysql數據庫環境
- 安裝mysql: www.mysql.com
- 配置mysql的環境變量
-
mysql的登陸和退出
- 登陸
- 輸入指令: mysql -uroot -p密碼 (這樣輸入密碼爲明文顯示)
- mysql -uroot -p 回車後再輸入密碼(這樣輸入密碼爲密文顯示)
- 退出
- quit
- exit
- \q
- 登陸
如何操作MySQL數據庫
SQL
-
什麼是SQL?
- 其實就是一種所有關係型數據庫的規則(必須遵守的規則), 每一種數據庫操作的方式存在細微不一樣的地方,成爲"方言"
-
SQL通用語法
- sql語句可以單行或多行書寫,以分號結尾
- 使用空格或者縮進來進行程序的可讀性
- mysql數據庫的sql語句不區分大小寫,關鍵字建議使用大寫方式
- 3中註釋
- 單行註釋:-- 註釋內容 或者 # 註釋
- 多行註釋:/* 註釋內容 */
-
SQL的分類:
名稱 意義 常用命令 DDL(數據定義語言) 定義和管理數據對象,如數據庫,數據表等 CREATE、DROP、ALTER 等 DML(數據操作語言) 用於操作數據庫對象中所包含的數據 INSERT、UPDATE、DELETE 等 DQL(數據查詢語言) 用於查詢數據庫數據 SELECT DCL(數據控制語言) 用來管理數據庫的語言,包括管理權限及數據更改 GRANT、COMMIT、ROLLBACK 等
DDL : 操作數據庫 , 表
操作數據庫 : CRUD
-
C(create):創建
-
創建數據庫(判斷不存在 , 才創建):
create database if not exists 數據庫名
-
創建數據庫時指定字符集:
create database 數據庫名 character set 字符集名稱
-
-
R(retrieve): 查詢
-
查詢所有數據庫的名稱:
show databases
-
查詢某個數據庫的詳細信息 (創建語句):
show create database 數據庫名
-
-
U(update):修改
-
修改數據庫的字符集:
alter database 數據庫名 character set 字符集名稱
-
-
D(delete):刪除
-
刪除數據庫
drop database if not exists 數據庫名
-
-
使用數據庫
-
查詢當前正在使用的數據庫名稱
select database()
-
使用數據庫
use 數據庫名
-
操作表:CRUD
-
C(create):創建
-
語法:
create table 表名稱( 列名1 數據類型1, 列名2 數據類型2, 列名3 數據類型3, ... ); --注意最後一列不需要加逗號
-
常用數據類型
- 整數類型 : int
- int(10) int類型不寫()默認爲11
- 小數類型 : double
- double (5,2)最大爲5位數,保留兩位小數
- 日期:
- date:日期類型
- datetime:日期加時間
- timestamp:時間戳類型 如果不賦值,或者爲null,默認使用當前時間
- 字符串:varchar
- varchar(20):指定最大字符長度
CREATE TABLE student( stu_id int(10) PRIMARY key comment'學生編號', stu_name varchar(10) not null comment'學生姓名', marjor varchar(50) comment '專業' )
- 整數類型 : int
-
複製表
create table 表名稱 like 被複制的表名
-
-
R(retrieve): 查詢
-
查詢某個數據庫所有表的名稱:
show databases
-
查詢表結構
desc 表名稱
-
-
U(update):修改
-
修改表名
alter table 表名 rename to 新表名
-
添加一列
alter table 表名 add 列名 數據類型
-
修改列名 類型
- modify:修改屬性:
alter table 表名 modify 字段名 字段屬性
- change:既修改屬性又可以修改名稱:
alter table 表名 modify 列名 新的列名 字段屬性
-
刪除列
alter table 表名 drop 列名
-
-
D(delete):刪除
-
刪除表
drop database if not exists 表名
-
常用字段
-
unsigned:無符號的
create table course( cid int primary key, name varchar(20) not null, score float(10) unsigned, day datetime )
此sql中score屬性不能存入小與0的數字
-
primary key: 設置主鍵
create table course( cid int primary key, name varchar(20) not null, score float(10) unsigned, day datetime )
-
zerofill:0填充的
create table course( cid int primary key, name varchar(20) not null, score float(10) unsigned zerofill, day datetime )
比如向float字段增添數據60,查看顯示爲:000000000060
-
auto_increment:自增 一般設置到主鍵上
create table course( cid int primary key auto_increment, name varchar(20) not null, score float(10) unsigned zerofill, day datetime )
-
default:默認的
給定默認值
create table student( name varchar(10) primary key, sex varchar(10) not null default "男" )
例如可以設定性別默認值爲男
-
comment:註釋
create table student( name varchar(10) primary key comment"學生姓名", sex varchar(10) not null default "男" )