本學習筆記是照搬慕課網《與MySQL的零距離接觸》內容,特此感謝! 1-1 mysql的安裝與配置 Windows環境下的MSI安裝: 1、安裝: 雙擊MSI文件->用戶協議->選擇Typical(典型安裝)->instal->finish; 2、配置: 配置嚮導文件(C\\pf\\Mysql\my ...
本學習筆記是照搬慕課網《與MySQL的零距離接觸》內容,特此感謝!
1-1 mysql的安裝與配置 Windows環境下的MSI安裝: 1、安裝: 雙擊MSI文件->用戶協議->選擇Typical(典型安裝)->instal->finish; 2、配置: 配置嚮導文件(C\\pf\\Mysql\mysqlsever\bin下的mysqlinstaceconfig.exe)->detailed(詳細)或者(standard標準)->勾選windows服務和環境變數選項->設置root用戶和密碼->執行配置選項。 3、mysql的目錄結構: bin目錄 存儲可執行文件 data目錄 存儲數據文件 docs 文檔 include目錄 存儲包含的頭文件 lib目錄 存儲庫文件 share 錯誤消息和字元集文件 1-2啟動和關閉mysql服務 1、電腦服務啟動和關閉: net start mysql; net stop mysql; net restart mysql; 2、使用mysql 登錄: MySQL -D(--database=name 打開指定資料庫)--delimiter=name (指定分隔符) -h(--host=name 伺服器名稱)-p (--password[=name]密碼)-P(--Port=埠) --prompt=name(設置提示符) -u(--user=name 用戶名)-V (--versiom 版本信息) #MySQL -uroot -p -P3306 -h172.1.1.200 退出: MySQL>exit;或者quit;或者\q; 修改MySQL提示符: 連接客戶端時: shell>mysql -uroot -proot --prompt 提示符 連上客戶端時: MySQL>prompt 提示符 修改說明: \D 完整的日期 \d 當前資料庫 \h 伺服器名稱 \u 當前用戶 #MySQL>PROMPT '\u@\h \d' 》》》root@localhost(庫名)> 1-3MySQL常用命令 查看版本號: SELECT VERSION(); 顯示當前日期: SELECT NOW(); 顯示當前用戶 :SELECT USER(); MySQL語句規範: ①關鍵字和函數名稱全部大寫; ②資料庫名、表名稱、欄位名稱全部用小寫; ③sql語句必須以分號結尾。 創建資料庫: CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name #CREATE DATABASE test_usr; 查看資料庫: SHOW {DATABASES | SCHEMAS} [LIKE 'pattern' | WHERE expr] #SHOW test_usr; 修改資料庫: ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name; #修改資料庫編碼方式 ALTER DATABASE test_usr CHARACTER SET = utf8; 刪除資料庫: DROP {DATABASE | SCHEMA} [IF EXISTS] db_name; {}符號為二選一 []符號為可選可不選2-1數據類型與數據表的操作 數據類型是指數據列、存儲過程參數、表達式和局部變數的數據特征,覺得了數據的存儲格式,代表了不同的數據類型。 整型: TINNYINT (有符號位:-128到127 無符號位: 0到255) SMALLINT (有符號位 -32768到32767 無符號位0到65536) MEDIUMINT (有符號位:-2的23次方到2的23次方-1) INT (有符號位:-2的31次方到2的31次方-1 無符號位:0到2的32次方-1) BIGINT (有:-2的63位 到2的63位-1 無:2的64位-1) 浮點型: FLOAT[(M.D)] M是數字的總位數,D是小數點後面的位數。單精度精確大約到7位小數。 DOUBLE[(M,D)] 日期時間型: YEAR 1(存儲需求) TIME 3 DATE 3 DATETIME 8 TIMESTAMP 4 字元型: CHAR(M) M個位元組,0<=M<=255 VARCHAR(M) L+1個位元組,其中L<=M 且0<=M<=65535 TINYTEXT L+1個位元組,其中L<2的八次方 TEXT L+2個位元組,其中L<2的16次方 MEDIUMTEXT L+3個位元組,其中L<2的24次方 LONGTEXT L+4個位元組,其中L<2的32次方 ENUM('value1','value2'...) 1或2個位元組,取決於枚舉值的個數,最多65535個值 SET('value1','value2'...) 1/2/3/4或8個位元組,取決於set成員的數目,最多64個成員 2-2 數據表的操作 打開資料庫: USE +庫名稱; 如,USE test-user; 查看資料庫: SHOW DATABASE; 查看打開的資料庫: SELECT DATEBASE(); 創建數據表: CREATE TABLE [IF NOT EXISTS] table_name (column_name data_type,...); #CREATE TABLE tb1( username VACHAR(20), age TINYINT UNSIGNED, salary FLOAT(8,2) UNSIGNED); 創建了一個包含名稱 年齡 收入的表 查看數據表: SHOW TABLES [FROM db_name] [LIKE 'pattern'|WHERE expr] 查看數據表的結構: SHOW COLUMNS FROM tbl_name; 插入數據(寫入記錄): INSERT [INTO] tbl_name [(col_name,...)] VALUES(val,...); #INSERT tbl VALUES ('Tom',25,7886.34); #與表欄位完全匹配的數據 INSERT tb1(username,salary) VALUES('Jon',4443); #指定列插入數據(限製為未插入位置允許空值) 查找記錄: SELECT expr,... FROM tbl_name; 2-3修改數據表: 添加單列: ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name] 添加多列: ALTER TABLE tbl_name ADD [COLUMN] (col_name colum_definition,...) 刪除列: ALTER TABLE tbl_name DROP [COLUMN] col_name 添加主鍵約束: ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_tye] (index_col_name,...) 添加唯一約束: ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...) 添加外鍵約束: ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition 添加/刪除預設約束: ALTER TABLE tbl_name ALTRT [COLUMN] col_name {SET DEFAULT literal |DROP DEFAULT} 刪除主鍵約束: ALTER TABLE tbl_name DROP PRIMARY KEY 刪除唯一約束: ALTER TABLE tbl_name DROP {INDEX | KEY} index_name 刪除外鍵約束: ALTET TABLE tbl_name DROP FOREIGN KEY fk_symbol 修改列定義: ALTER TABLE tbl_name MODIFY [COLUMN ] col_name column_definition [FIRST|AFTER col_name] 修改列名稱: ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name] 修改數據表名 方法1:ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name 方法2:RENAME TABLE tbl_name TO new_tbl_name [,tbl_name2 TO new_tbl_name2] ...