您好,登錄后才能下訂單哦!
mysql 數據庫服務
#主配置文件
/etc/my.cnf
#查看服務狀態
systemctl status mysqld
#數據庫目錄
/var/lib/mysql
#數據庫進程名
[root@mysql ~]#ps -C mysqld
PID TTY TIME CMD
5604 ? 00:00:00 mysqld
#默認端口號
[root@mysql ~]#netstat -pantu | grep 3306
tcp6 0 0 :::3306 :::* LISTEN 5604/mysqld
#進程所屬者
[root@mysql ~]#grep mysql /etc/passwd
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
#進程所屬組
[root@mysql ~]#grep mysql /etc/group
mysql:x:27:
[root@mysql ~]# ps aux | grep mysqld
mysql 5604 0.2 16.8 1119216 171772 ? Sl 21:36 0:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
root 5754 0.0 0.0 112660 972 pts/0 R+ 21:39 0:00 grep --color=auto mysqld
[root@mysql ~]# ls -ld /var/lib/mysql
drwxr-x--x. 5 mysql mysql 4096 12月 19 21:36 /var/lib/mysql
#mysql 啟動后自動生成的日志文件
[root@mysql ~]# ls /var/log/mysqld.log
/var/log/mysqld.log
使用sql命令管理數據庫
sql 命令分類
DDL數據定義語言 (create alter drop)
DML數據操作語言 ( insert update delete select )
DCL數據控制語言 ( grant revoke )
DTL數據事物語言 ( commit rollback savepoint )
把數據存儲到數據庫服務器上的過程
1,連接數據庫服務器
客戶端自己提供連接工具
2,創建庫(文件夾)
數據庫命名規則?
不能純數字
不能有特殊符號
不能用關鍵字
唯一性
創建庫
create database 庫名;
mysql> create database gamedb;
#在對應數據庫目錄會生成相關文件
[root@mysql4-1 mysql]# ls /var/lib/mysql/gamedb/
db.opt
查看已有庫
mysql> show databases;
刪除庫
mysql> drop database gamedb;
Query OK, 0 rows affected (0.00 sec)
[root@mysql4-1 mysql]# ls /var/lib/mysql/gamedb/
ls: 無法訪問/var/lib/mysql/gamedb/: 沒有那個文件或目錄
切換庫
use 庫名;
mysql> use mysql;
查看當前所在的庫
mysql> select database();
+---------------+
| database() |
+---------------+
| NULL |
+---------------+
1 row in set (0.00 sec)
查看庫里已有的表
mysql> show tables;
3.建表(文件)
create table 庫名.表名(
字段名 字符類型,
字段名 數值類型,
...
);
mysql> create table gamedb.stu(
-> name char(10),
-> age int
-> );
插入表記錄
insert into 庫名.表名 values(值列表)
mysql> insert into gamedb.stu values ("jim",23),("tom",21);
查看表記錄
select * from 庫名.表名;
mysql> select * from stu;
+-------+--------+
| name | age |
+----------+----------+
| jim | 23 |
| tom | 21 |
+----------+----------+
查看表結構
desc 庫名.表名
mysql> desc gamedb.stu;
刪除表記錄
delete from 庫名.表名
mysql> delete from gamedb.stu;
Query OK, 2 rows affected (0.03 sec)
mysql> select * from stu;
Empty set (0.00 sec)
刪除表
drop table 庫名.表名
mysql> drop table gamedb.stu;
Query OK, 0 rows affected (0.24 sec)
mysql> show tables;
Empty set (0.00 sec)
mysql數據類型
支持的數據類型
數值型:整型,浮點型
整型:根據存儲數值的范圍整型分為:
tinyint smallint mediumint int bigint
1個字節 2個字節 3個字節 4個字節 8個字節
create table t3(age int unsigned); #unsigned 不允許存儲負數
浮點型:根據存儲數值的范圍分為:
單精度:float (n,m) n表是總位數,m表示小數位位數
float(7,2) xxxxx.xx
99999.99
-99999.99
雙精度:double
數值類型 的寬度 是顯示寬度,不能限制給字段賦值的大小,大小由類型決定
賦值 寬度為節省空間
寬度不夠時:
默認用空格補位
zerofill #寬度不夠用零補位
mysql> create table t24(id int(3) zerofill,age int(5) zerofill);
Query OK, 0 rows affected (0.40 sec)
mysql> insert into t24 values(2,2);
Query OK, 1 row affected (0.16 sec)
mysql> select * from t24;
+----------+------------+
| id | age |
+----------+------------+
| 002 | 00002 |
+---------+------------+
1 row in set (0.00 sec)
mysql> desc t24;
字符型: 定長 變長 大文本
char varchar blob/text
定長長度固定 空間換時間
變長長度隨字符大小而改變 時間換空間
日期時間型:
年 yesr YYYY 1901-2155 可以使用兩位數字給yesr賦值
日期 date YYYYMMDD
時間 time HHMMSS
日期時間
datetime YYYYMMDDHHMMSS 如果不給其賦值 默認賦值NULL
timestamp YYYYMMDDHHMMSS 如果不給其賦值 默認自動賦值當前時間
使用時間函數給日期賦值
now() #當前時間
mysql> select now();
+-------------------------------------+
| now() |
+-------------------------------------+
| 2017-12-20 03:49:11 |
+-------------------------------------+
1 row in set (0.00 sec)
year() 指定日期中的年
mysql> select year( now());
month() 指定時間中的月份
day() 指定時間中的日子
date() 指定時間中的日期
time() 指定時間中的時刻
insert into t10 values ('tom',19,year(now()), time(now()),date(now()),now());
枚舉型:字段的值只能在列舉的范圍內選擇
字段名 enum(值列表) 單選
字段名 set (值列表) 多選
字段約束條件
設置字段約束條件:作用
Null 允許未空,默認設置
NOT NULL 不允許為空
Key 索引類型
Default 設置默認值,缺省為NULL
mysql> create table t13 (
-> name char(10) not null,
-> age tinyint default 23,
-> sex enum('man','woman') not null default 'man'
-> );
Query OK, 0 rows affected (0.37 sec)
mysql> desc t13;
修改表結構
alter table 表名 執行動作;
添加新字段
add 字段 類型(寬度)約束條件; #添加末尾
add 字段 類型(寬度)約束條件 first; #添加開頭
add 字段 類型(寬度)約束條件 after 字段名; #添加到某個字段后
mysql> alter table t11 add name char(10) first;
mysql> alter table t11 add mail varchar(30) default 'stu@tedu.cn';
mysql> alter table t11 add class char(10) default 'nsd1709' after name;
刪除字段
drop 字段名
mysql> alter table t11 drop party,drop mail;
不修改的地方照抄原有的
修改字段類型
modify 字段 類型(寬度)約束條件;
mysql> alter table t11 modify name varchar(15) ;
修改字段名
change 源字段名 新字段名 類型(寬度)約束條件;
mysql> alter table t11 change meetting party timestamp not null;
修改表名
mysql> alter table t11 rename stuinfo;
mysql> use information_schema;
過濾某個數據庫的約束
mysql> select * from table_constraints where table_schema='數據庫名';
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。