mysql學習筆記

基本瞭解:

mysql數據庫爲關係型數據庫,個關係型數據庫由一個或數個表格組成,表格中確定有(鍵(key): 表中用來識別某個特定的人物的方法, 鍵的值在當前列中具備惟一性。)mysql

登陸mysql(記得配置環境變量)

  1. 管理員模式打開cmd
  2. 啓動服務net start mysql
  3. 登陸mysql -u root -p,回車以後根據提示輸入密碼
  4. 建表等操做
  5. 關閉服務net start mysql

注意,可能會報錯:sql

C:\AppServ\MySQL> mysql -u root -p 
Enter password:  
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES

解決方法以下:數據庫

編輯mysql配置文件my.ini(在mysql的安裝目錄下,個人在D:Program FilesMySQLMySQL Server 5.0my.ini),在[mysqld]這個條目下加入 skip-grant-tables 保存退出後重啓mysqlsegmentfault

  1. 點擊「開始」->「運行」(快捷鍵Win+R)。
  2. 中止:輸入 net stop mysql
  3. 啓動:輸入 net start mysql

這時候在cmd裏面輸入mysql -u root -p就能夠不用密碼登陸了,出現 password:的時候直接回車能夠進入,不會出現ERROR 1045 (28000),但不少操做都會受限制,由於咱們不能grant(沒有權限)。工具

繼續按下面的流程走:ui

  1. 進入mysql數據庫:
mysql> use mysql; 
Database changed
  1. 給root用戶設置新密碼:
mysql> update mysql.user set authentication_string=password("新密碼") where user="root"; 
Query OK, 1 rows affected (0.01 sec) 
Rows matched: 1 Changed: 1 Warnings: 0
  1. 刷新數據庫
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
  1. 退出mysql:
mysql> quit; 
Bye

改好以後,再修改一下my.ini這個文件,把咱們剛纔加入的 "skip-grant-tables"這行刪除,保存退出再重啓mysql就能夠了。編碼

關於可視化工具HeidiSql的使用

  1. 訪問本機時候mysql時候,ip可使本機ip或者默認的127.0.0.1,用戶名爲mysql以前設置的用戶名,密碼也是本身設置的,個人默認爲root,
  2. 配置好後直接打開便可

建立庫才能建立表

-- 建立一個名爲 samp_db 的數據庫,數據庫字符編碼指定爲 gbk
create database samp_db character set gbk;
drop database samp_db; -- 刪除 庫名爲samp_db的庫
show databases;        -- 顯示數據庫列表。
use samp_db;     -- 選擇建立的數據庫samp_db
show tables;     -- 顯示samp_db下面全部的表名字
describe 表名;    -- 顯示數據表的結構
delete from 表名; -- 清空表中記錄

建立表

CREATE TABLE `user_accounts` (
  `id`             int(100) unsigned NOT NULL AUTO_INCREMENT primary key,
  `password`       varchar(32)       NOT NULL DEFAULT '' COMMENT '用戶密碼',
  `reset_password` tinyint(32)       NOT NULL DEFAULT 0 COMMENT '用戶類型:0-不須要重置密碼;1-須要重置密碼',
  `mobile`         varchar(20)       NOT NULL DEFAULT '' COMMENT '手機',
  `create_at`      timestamp(6)      NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
  `update_at`      timestamp(6)      NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
  -- 建立惟一索引,不容許重複
  UNIQUE INDEX idx_user_mobile(`mobile`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8
COMMENT='用戶表信息';

數據類型的屬性解釋:code

NULL:數據列可包含NULL值;

NOT NULL:數據列不容許包含NULL值;

DEFAULT:默認值;

PRIMARY:KEY 主鍵;

AUTO_INCREMENT:自動遞增,適用於整數類型;

UNSIGNED:是指數值類型只能爲正數;

CHARACTER SET name:指定一個字符集;

COMMENT:對錶或者字段說明;

增刪改查

select
SELECT 語句用於從表中選取數據。 
語法:SELECT 列名稱 FROM 表名稱 
語法:SELECT * FROM 表名稱
update
Update 語句用於修改表中的數據。 
語法:UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
insert
INSERT INTO 語句用於向表格中插入新的行。 
語法:INSERT INTO 表名稱 VALUES (值1, 值2,....) 
語法:INSERT INTO 表名稱 (列1, 列2,...) VALUES (值1, 值2,....)
delete
DELETE 語句用於刪除表中的行。 
語法:DELETE FROM 表名稱 WHERE 列名稱 = 值

參考: http://www.javashuo.com/article/p-ddehbnhw-k.html索引

相關文章
相關標籤/搜索