MySQL 建立資料庫 建立表
MySQL 建立資料庫 建立表
最近幾天開始研究MySQL。那麼先來看看最基本的MySQL操作。
登入資料庫:
- sudo mysql -u root -p
mysql代表客戶端命令;
-u 後面跟連線的資料庫使用者名稱;
root為使用者名稱,也可以是其他使用者名稱
-p 表示要輸入密碼
使用SHOW語句找出在伺服器上當前存在什麼資料庫:
-
mysql> SHOW DATABASES;
-
+----------+
-
| Database |
-
+----------+
-
| mysql |
-
| test |
-
+----------+
- 3 rows in set (0.00 sec)
建立一個資料庫starive
- mysql> CREATE DATABASE starive;
注意不同作業系統對大小寫的敏感。
選擇你所建立的資料庫
-
mysql> USE starive
- Database changed
此時你已經進入你剛才所建立的資料庫starive.
顯示錶
首先看現在你的資料庫中存在什麼表:-
mysql> SHOW TABLES;
- Empty set (0.00 sec)
刪除資料庫
- drop database dbname;
建立表
說明剛才建立的資料庫中還沒有資料庫表。下面來建立一個資料庫表Student, Course, SC :-
CREATE TABLE Student
-
(Sno CHAR(9) PRIMARY KEY,
-
Sname CHAR(20) NOT NULL,
-
Ssex CHAR(4),
-
Sage SMALLINT,
- Sdept CHAR(20)) engine= innodb;
貼上複製版本:
- CREATE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) NOT NULL,Ssex CHAR(4),Sage SMALLINT,Sdept CHAR(20)) engine= innodb;
檢視錶的定義:
- DESC tablename
更詳細的檢視錶的定義
- show create table tablename \G;
-
create table course(
-
cno CHAR(6),
-
cname varchar(20),
-
credit int,
-
primary key(cno)
- ) engine= innodb;
貼上複製版本:
- create table course(cno CHAR(6),cname varchar(20),credit int,primary key(cno)) engine= innodb;
-
CREATE TABLE SC
-
(Sno CHAR(9) NOT NULL,
-
Cno CHAR(6) NOT NULL,
-
Grade SMALLINT,
-
PRIMARY KEY (Sno,Cno),
-
constraint f1 FOREIGN KEY (Sno) REFERENCES Student(Sno),
-
FOREIGN KEY (Cno) REFERENCES Course(Cno)
- ) engine= innodb;
貼上複製版本:
- CREATE TABLE SC(Sno CHAR(9),cno CHAR(6),Grade SMALLINT,PRIMARY KEY (Sno,cno),constraint f1 FOREIGN KEY (Sno) REFERENCES Student(Sno),FOREIGN KEY (cno) REFERENCES course(cno))engine= innodb;
###### 書《深入淺出MySQL:資料庫開發、優化與管理維護(第二版)》 裡面的兩張表 emp, dept #####
-
CREATE TABLE emp (
-
ename varchar(20),
-
hiredate date,
-
sal decimal(10,2),
-
deptno int(2)
- ) ENGINE=InnoDB
-
mysql> create table dept(deptno int(2),deptname varchar(20));
- Query OK, 0 rows affected (0.04 sec)
刪除表:
- drop table tablename;
建立了表後,我們可以看看剛才做的結果,用SHOW TABLES顯示資料庫中有哪些表:
-
mysql> show tables;
-
+-------------------+
-
| Tables_in_starive |
-
+-------------------+
-
| course |
-
| sc |
-
| student |
-
+-------------------+
- 3 rows in set (0.00 sec)
5、顯示錶的結構:
-
mysql> describe student;
-
+-------+-------------+------+-----+---------+-------+
-
| Field | Type | Null | Key | Default | Extra |
-
+-------+-------------+------+-----+---------+-------+
-
| Sno | char(9) | NO | PRI | NULL | |
-
| Sname | char(20) | NO | | NULL | |
-
| Ssex | char(4) | YES | | NULL | |
-
| Sage | smallint(6) | YES | | NULL | |
-
| Sdept | char(20) | YES | | NULL | |
-
+-------+-------------+------+-----+---------+-------+
- 5 rows in set (0.22 sec)
修改表
修改表型別
-
alter table tablename MODIFY [column] column_definition [First | After col_name] ([]可選)
-
-
mysql> alter table emp modify ename varchar(20);
-
Query OK, 0 rows affected (0.24 sec)
- Records: 0 Duplicates: 0 Warnings: 0
增加表欄位
-
alter table tablename ADD [column] column_definition [First | After col_name]
-
-
mysql> alter table emp add column age int(3);
-
Query OK, 0 rows affected (0.18 sec)
- Records: 0 Duplicates: 0 Warnings: 0
刪除表欄位
-
alter table tablename drop [column] col_name
-
-
mysql> alter table emp drop column age;
-
Query OK, 0 rows affected (0.14 sec)
- Records: 0 Duplicates: 0 Warnings: 0
欄位改名
-
alter table tablename CHANGE [COLUMN] old_col_name new_col_definition [First | After col_name]
-
-
mysql> alter table emp change age age1 int(4);
-
Query OK, 0 rows affected (0.14 sec)
- Records: 0 Duplicates: 0 Warnings: 0
修改欄位排列順序
Eg: 將新增加的欄位 birth date 加在 ename 之後:-
mysql> alter table emp add birth date after ename;
-
Query OK, 0 rows affected (0.10 sec)
-
Records: 0 Duplicates: 0 Warnings: 0
-
-
-
mysql> desc emp;
-
+----------+---------------+------+-----+---------+-------+
-
| Field | Type | Null | Key | Default | Extra |
-
+----------+---------------+------+-----+---------+-------+
-
| ename | varchar(20) | YES | | NULL | |
-
| birth | date | YES | | NULL | |
-
| hiredate | date | YES | | NULL | |
-
| sal | decimal(10,2) | YES | | NULL | |
-
| deptno | int(2) | YES | | NULL | |
-
| age1 | int(4) | YES | | NULL | |
-
+----------+---------------+------+-----+---------+-------+
- 6 rows in set (0.00 sec)
修改欄位age, 將它放在最前面:
-
alter table emp modify age int(3) first;
-
-
mysql> desc emp;
-
+----------+---------------+------+-----+---------+-------+
-
| Field | Type | Null | Key | Default | Extra |
-
+----------+---------------+------+-----+---------+-------+
-
| age | int(3) | YES | | NULL | |
-
| ename | varchar(20) | YES | | NULL | |
-
| birth | date | YES | | NULL | |
-
| hiredate | date | YES | | NULL | |
-
| sal | decimal(10,2) | YES | | NULL | |
-
| deptno | int(2) | YES | | NULL | |
-
+----------+---------------+------+-----+---------+-------+
- 6 rows in set (0.01 sec)
更改表名
語法如下:-
alter table tablename rename [To] new_tablename
-
-
mysql> alter table emp rename emp1;
- Query OK, 0 rows affected (0.08 sec)
往表中加入記錄
我們先用SELECT命令來檢視錶中的資料:-
mysql> select * from student;
- Empty set (0.00 sec)
插入資料:
-
INSERT INTO Student VALUES('0201','趙偉','男',18,'cs');
-
INSERT INTO Student VALUES('0202','張力虹','男',19,'is');
-
INSERT INTO Student VALUES('0203','徐秀美','女',21,'is');
-
INSERT INTO Student VALUES('0204','劉平','男,20,'cs');
-
INSERT INTO Student VALUES('0205','姚家全','男',19,'cs');
- INSERT INTO Student VALUES('0206','上關美雲','女',23,'ma');
再用上面的SELECT命令看:
-
mysql> select * from student;
-
+------+----------+------+------+-------+
-
| Sno | sname | Ssex | Sage | Sdept |
-
+------+----------+------+------+-------+
-
| 0201 | 趙偉 | 男 | 18 | cs |
-
| 0202 | 張力虹 | 男 | 19 | is |
-
| 0203 | 徐秀美 | 女 | 21 | is |
-
| 0204 | 劉平 | 男 | 20 | cs |
-
| 0205 | 姚家全 | 男 | 19 | cs |
-
| 0206 | 上關美雲 | 女 | 23 | ma |
-
+------+----------+------+------+-------+
- 6 rows in set (0.00 sec)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26435490/viewspace-1259471/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 建立資料庫表資料庫
- Mysql建立資料庫MySql資料庫
- 資料庫 建立 3表資料庫
- 建立資料mysql庫流程MySql
- [Mysql] 4.Mysql 建立資料庫MySql資料庫
- SQL建立資料庫和表SQL資料庫
- DB2建立資料庫,建立表空間DB2資料庫
- 使用AnalyticDB MySQL建立資料庫及表過程MySql資料庫
- MySQL建立資料表並建立主外來鍵關係MySql
- [MYSQL] 資料庫建立與刪除MySql資料庫
- mysql指令1:增刪改庫,資料型別,建立表MySql資料型別
- 安裝mongodb,建立資料庫、使用者、建立表、匯出匯入資料庫MongoDB資料庫
- 在 mysql 下 建立新的資料庫和對應的表MySql資料庫
- SQLServer資料庫中建立臨時表SQLServer資料庫
- Oracle批量建立、刪除資料庫表Oracle資料庫
- MySQL建立資料庫的兩種方法MySql資料庫
- 建立資料庫資料庫
- 建立SQL資料表SQL
- laravel 建立資料表Laravel
- MongoDB 資料庫建立刪除、表(集合)建立刪除、資料增刪改查MongoDB資料庫
- 資料庫 - 索引、基本表建立與刪除資料庫索引
- oracle為資料庫每張表建立序列Oracle資料庫
- express入門04 資料庫連線 表結構建立 模型建立Express資料庫模型
- MacOS使用Docker建立MySQL主從資料庫MacDockerMySql資料庫
- MacOS使用Docker建立MySQL主主資料庫MacDockerMySql資料庫
- mysql無法建立資料庫怎麼辦MySql資料庫
- 4、MySQL建立資料庫(CREATE DATABASE語句)MySql資料庫Database
- mysql資料庫的檔案建立方式MySql資料庫
- 建立管理MySQL資料庫的shell指令碼MySql資料庫指令碼
- 建立資料庫命令資料庫
- 手工建立資料庫資料庫
- 建立ASM資料庫ASM資料庫
- Laravel 建立資料庫Laravel資料庫
- 對執行中的Mysql資料庫建立從庫MySql資料庫
- Oracle建立表空間、建立資料庫使用者、賦許可權Oracle資料庫
- MySQL之資料庫和表的基本操作(建立表、刪除表、向表中新增欄位)MySql資料庫
- [Mysql] 5.Mysql 建立表MySql
- 在SAP HANA Express Edition裡建立資料庫表Express資料庫