MySQL学习——操作数据库(增删改查)(一)
數據庫是長期存儲在計算機內,有組織的和可共享的數據集合,簡而言之,數據庫就是一個存儲數據的地方,只是在其存儲方式有特定的規律,這樣做可以方便處理數據,數據庫的操作包括創建數據庫和刪除數據庫,還有數據庫中的查詢與修改,這些操作都是數據庫管理的基礎。
一,創建數據庫
創建數據庫是指在數據庫系統中劃分一塊空間,用來存儲相應的數據,這是進行表操作的基礎,也是進行數據庫管理的基礎,在mysql中創建數據庫需要通過SQL語句CREATE DATABASES實現,語法形式如下:
CREATE DATABASE 數據庫名; 其中,‘數據庫名’參數表示所要創建的數據庫的名稱,在創建數據庫之前,可以使用SHOW語句來查看現在已經存在的數據庫,語法形式如下: SHOW DATABASE; mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | liuyandb | | mysql | | performance_schema | | python | | sys | +--------------------+ 6 rows in set (0.00 sec) mysql>
二,刪除數據庫
刪除數據庫是指數據庫系統中刪除已經存在的數據庫,刪除數據庫之后,原來分配的空間將被回收,值得注意的是,刪除數據庫會刪除數據庫中所有的表和所有數據。
刪除數據庫是通過SQL語句 DROP DATABSE實現的,其語法格式如下/;. DROP DATABASE 數據庫名;
舉例說明
創建一個叫做mybook的數據庫,查詢然后在將其刪除查看:
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | liuyandb | | mysql | | performance_schema | | python | | sys | +--------------------+ 6 rows in set (0.00 sec) mysql> create database mybook; Query OK, 1 row affected (0.04 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | liuyandb | | mybook | | mysql | | performance_schema | | python | | sys | +--------------------+ 7 rows in set (0.00 sec) mysql> drop database mybook; Query OK, 0 rows affected (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | liuyandb | | mysql | | performance_schema | | python | | sys | +--------------------+ 6 rows in set (0.01 sec) mysql>
三:創建,修改和刪除表
表是數據庫存儲數據的基本單位,一個表包含若干字段或記錄,表的操作包括創建表,修改表和刪除表,這些操作都是數據庫管理中最基本也是最重要的操作。
3.1創建表
MySQL中創建表是通過SQL語句CREATE TABLE 實現的,其語法格式如下:
USE 數據庫名
CREATE TABLE 表名(屬性名 數據類型【完整約束條件】,
屬性名 數據類型【完整約束條件】,
.
.
);
其中 USE數據庫名表示使用某個數據庫,‘表名’參數表示所要創建的表的名稱 ;
‘屬性名’參數表示表中字段的名稱;
‘數據類型’參數指定字段的數據類型,
‘完整性約束條件’參數指定字段的某些特殊約束條件
注:在使用create table 語句創建表時,首先使用USE語句選擇數據庫,選擇數據庫語句的基本格式為‘USE 數據庫名’,如果沒有選擇數據庫,創建表時會出現‘ERROR 1046(3D000):No DATABASE SELECTED’的錯誤。
表名不能使用SQL語言的關鍵字,如create,updata和order等都不能做表名,一個表中可以有一個或多個屬性,定義時字母大小寫均可,各屬性之間用逗號隔開,最后一個屬性后面不需要加逗號。
注:完整性約束條件是對字段進行限制,要求用戶對該屬性進行操作符合特定的要求,如果不滿足完整性約束條件,數據庫系統將不執行用戶的操作,其目的是為了保證數據庫中的數據完整性,下表為完整性約束條件:
例子:創建一個名為example0的表:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| liuyandb |
| mysql |
| performance_schema |
| python |
| sys |
+--------------------+
6 rows in set (0.00 sec)
mysql> create database text;
Query OK, 1 row affected (0.01 sec)
mysql> use text;
Database changed
mysql> create table example0(id int,
-> name varchar(20),
-> sex boolean
-> );
Query OK, 0 rows affected (0.34 sec)
mysql> desc example0;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| sex | tinyint(1) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
mysql>
注:相關概念:
主鍵是表的一個特殊字段,該字段能夠唯一的標識該表中的每條信息,主鍵和記錄的關系,如同身份證和人的關系,主鍵用來標識每個記錄,每個記錄的主鍵值都不相同,身份證是用來表名人的身份,每個人都具有唯一的身份證號,設置表的主鍵指在創建表時設置表的某個字段為該表的主鍵。
1.單字段主鍵
主鍵是由一個字段構成時,可以直接在該字段的后面加上PRIMARY KEY 來設置主鍵,語法規則如下:
屬性名 數據類型 PRIMARY KEY
其中‘屬性名’參數表示表中字段的名稱,‘數據類型’參數指定字段的數據類型。
例:在example1表中設置stu_id作為主鍵,SQL代碼如下:
mysql> create table example1(stu_id int primary key,
-> stu_name varchar(20),
-> stu_sex boolean
-> );
Query OK, 0 rows affected (0.33 sec)
mysql> desc example1;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| stu_id | int(11) | NO | PRI | NULL | |
| stu_name | varchar(20) | YES | | NULL | |
| stu_sex | tinyint(1) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql>
2.多字段主鍵
主鍵是由多個屬性組合而成時,在屬性定義完之后統一設置主鍵,語法規則如下:
PRIMARY KEY(屬性1,屬性2。。。。屬性n)
例:在example2表中設置stu_id與course_id倆個字段為主鍵,SQL代碼如下:
mysql>
mysql> create table example2(stu_id int,
-> course_id int,
-> grade float,
-> primary key(stu_id,course_id)
-> );
Query OK, 0 rows affected (0.43 sec)
mysql> desc example2;
+-----------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| stu_id | int(11) | NO | PRI | NULL | |
| course_id | int(11) | NO | PRI | NULL | |
| grade | float | YES | | NULL | |
+-----------+---------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql>
查看表基本結構語句(DESCRIBE)
DESCRIBE 表名;或者 DESC 表名
查看表詳細結構語句 SHOW CREATE TABLE
SHOW CREATE TABLE example1G
例子:
mysql>
mysql> desc example1;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| stu_id | int(11) | NO | PRI | NULL | |
| stu_name | varchar(20) | YES | | NULL | |
| stu_sex | tinyint(1) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> show create table example1G
*************************** 1. row ***************************
Table: example1
Create Table: CREATE TABLE `example1` (
`stu_id` int(11) NOT NULL,
`stu_name` varchar(20) DEFAULT NULL,
`stu_sex` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`stu_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
mysql>
總結
以上是生活随笔為你收集整理的MySQL学习——操作数据库(增删改查)(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 咖啡店沙发购买注意事项
- 下一篇: Windows命令行打开常用界面