裝包 // rpm 方法
1.1 刪除系統自帶mariadb mysql數據庫軟件
]#rpm -qa | grep -i mariadb
]#systemctl stop mariadb
]#rpm -e --nodeps mariadb-server mariadb
]#rm -rf /etc/my.cnf
]#rm -rf /var/lib/mysql
1.2 安裝mysql軟件
]# tar -xf mysql-5.7.17-1.el7.x86_64.rpm-bundle.tar
]# ls *.rpm
]# rm -rf mysql-community-server-minimal-5.7.17-1.el7.x86_64.rpm
]# yum -y install perl-JSON
]# rpm -Uvh mysql-community-*.rpm
]# rpm -qa | grep -i mysql
1.裝包 // yum方法
]# yum -y install mysql-community-server
]# systemctl start mysqld //啓動服務生成配置文件
]# grep password /var/log/mysqld.log //查找初始密碼
]# mysql -hlocalhost -uroot -p'密碼'
mysql>set global validate_password_policy=0; //修改密碼安全策略
mysql>set global validate_password_length=6; 更改密碼長度最低爲6
mysql> alter user root@"localhost" identified by '123456'; //修改密碼爲123456
mysql> set password='123456'; //修改密碼的另一種方法
讓密碼策略永久生效
]#vim /etc/my.cnf
[mysqld]
validate_password_policy=0
validate_password_length=6
:wq
]#systemctl restart mysqld
管理數據庫的sql命令
查看 show databases;
切換 use 庫名;
創建庫 create database 庫名;
刪除庫 drop database 庫名;
顯示當前所在的庫 select database();
管理表的sql命令
查看錶內容 select * from 庫名.表名;
創建表結構 create table 表名(字段名 數值類型); //以逗號爲分隔
插入 insert into 庫名.表名 values(字段值列表);
刪除表 drop table 表名;
查看錶結構 desc 表名;
例子
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
字段名 | 字段類型 | 是否爲空 | 是否 | 默認 | 描述信息 |
刪除表中內容 delete from 庫名.表名;
delete from gamedb.stuinfo;
修改表內容 update 庫名.表名 set 字段名=值 where 條件;
例子: update test.t1 set age=15 where name=’acfc’;
把test庫裏的t1表中名字爲acfc的age裏的值改爲15
mysql 數值類型
數值類型
類型 | 大小 | 範圍(有符號/Signed) | 範圍(無符號/Unsigned) | 用途 |
---|---|---|---|---|
TINYINT | 1字節 | -128~127 | 0 ~ 255 | 微小整數 |
SMALLINT | 2字節 | -32768~32767 | 0 ~ 65535 | 小整數 |
MEDIUMINT | 3 字節 | -223 ~ 223 -1 | 0 ~ 224 -1 | 中整數 |
INT | 4 字節 | -231 ~ 231 -1 | 0 ~ 232 -1 | 大整數 |
BIGINT | 8 字節 | -263 ~ 263 -1 | 0 ~ 264 -1 | 極大整數 |
FLOAT | 4 字節 | 單精度浮點數 | ||
DOUBLE | 8 字節 | 雙精度浮點數 |
整數型
• 關於整數型字段
– 使用 UNSIGNED 修飾時,對應的字段只保存正數
– 數值不夠指定寬度時,在左邊填空格補位
– 寬度僅是顯示寬度,存數值的大小由類型決定
– 使用關鍵字 ZEROFILL 時,填 0 代替空格補位
– 數值超出範圍時,報錯
浮點型
• 關於浮點型字段
– 定義格式: float( 總寬度 , 小數位數 )
– 當字段值與類型不匹配時,字段值作爲 0 處理
– 數值超出範圍時,僅保存最大 / 最小值
字符類型
• 定長: char( 字符數 )
– 最大長度 255 字符
– 不夠指定字符數時在右邊用空格補齊
– 字符數斷超出時,無法寫入數據。
• 變長: varchar( 字符數 )
– 按數據實際大小分配存儲空間
– 字符數斷超出時,無法寫入數據。
• 大文本類型: text/blob
– 字符數大於 65535 存儲時使用
日期時間類型
• 日期時間, DATETIME
– 佔用 8 個字節
– 範圍: 1000-01-01 00:00:00.000000
~ 9999-12-31 23:59:59.999999
• 日期時間, TIMESTAMP
– 佔用 4 個字節
– 範圍: 1970-01-01 00:00:00.000000
~ 2038-01-19 03:14:07.999999
• 日期, DATE
– 佔用 4 個字節
– 範圍: 0001-01-01 ~ 9999-12-31
• 年份, YEAR
– 佔用 1 個字節
– 範圍: 1901~2155
• 時間, TIME
– 佔用 3 個字節
– 格式: HH:MM:SS
時間函數
類 型 | 用 途 |
---|---|
now() | 獲取系統當前日期和時間 |
year() | 執行時動態獲得系統日期時間 |
sleep(N) | 休眠 N 秒 |
curdate() | 獲取當前的系統日期 |
curtime() | 獲取當前的系統時刻 |
month() | 獲取指定時間中的月份 |
date() | 獲取指定時間中的日期 |
time() | 獲取指定時間中的時刻 |
枚舉類型
• 從給定值集合中選擇單個值, ENUM
– 定義格式: enum( 值 1, 值 2, 值 N)
• 從給定值集合中選擇一個或多個值, SET
– 定義格式: set( 值 1, 值 2, 值 N)
例子
mysql> create table class(
-> name varchar(4),
-> gender enum('boy','girl'), //enum只能選擇一個值
-> likes set('book','film','music','football') //set可以選擇多個
-> );