##########################
今天來說一下MySQL資料庫的一些基本操作
##########################
1.創建資料庫
create database db1; //db1是資料庫名
2.查看當前存在的資料庫
show database db1;
3.查看資料庫定義
show create database db1;
4.選擇資料庫
use db1;
5.洗掉資料庫
drop database db1;
6.創建表(一個表描述的是一件事情)
create table 表名
(
列名 資料型別 [約束],
...
);
列名:命名規則同Java;資料型別:參見串列;約束:約束的是值,分為主鍵約束、外鍵約束、非空約束、唯一約束、默認約束
1)主鍵約束:要求主鍵列的資料是唯一,且不允許為空,
單欄位主鍵:欄位名 資料型別 primary key
多欄位聯合主鍵:primary key [欄位1,...,欄位n]
2)外鍵約束:用來在兩個表之間建立連接,
格式:constraint 外鍵名 foreign key 欄位名 references 主表名(主鍵列)
1 CREATE TABLE classinfo
2 (
3 classid INT PRIMARY KEY,
4 classname VARCHAR(6)
5 );
6 CREATE TABLE stuinfo
7 (
8 stuid INT PRIMARY KEY,
9 stuname VARCHAR(6),
10 stusex CHAR(1),
11 classid INT,
12 ##添加外鍵
13 FOREIGN KEY(classid) REFERENCES classinfo(classid)
14 );
15 COMMIT;
16 ROLLBACK;
3)非空約束:指欄位值不能為空,
格式:欄位名 資料型別 not null
4)唯一約束:要求該列值唯一,允許為空,但只能出現一個空值,
格式:欄位名 資料型別 unique
5)默認約束:指定某列的默認值,
格式:欄位名 資料型別 default 默認值
6)設定表的屬性值自增:一個表只能有一個欄位使用自增約束,且該欄位必須為主鍵的一部分,
格式:欄位名 資料型別 auto_increment
1 CREATE TABLE students
2 (
3 stu_no INT PRIMARY KEY AUTO_INCREMENT, ##標識列 incremeny
4 stu_name VARCHAR(4) NOT NULL,
5 stu_sex CHAR(1) CHECK(stu_sex='男'OR stu_sex='女'),
6 stu_age INTEGER,
7 stu_phone VARCHAR(11) UNIQUE NOT NULL,
8 stu_bri DATE
9 );
7.創建臨時表
create temporary table a ();
8.查看表基本結構陳述句
describe 表名 / desc 表名
查看表的詳細結構陳述句:show create table \G 表名
9.修改表名
alter table 舊表名 rename 新表名;
10.修改欄位的資料型別
alter table 表名 modify 欄位名 資料型別
11.修改欄位名
alter table 表名 change 舊欄位名 新欄位名 新資料型別;
12.修改表陳述句
alter table 表名 add 新欄位名 資料型別 [約束條件] [first | after 已存在欄位名];
alter table 表名 drop 欄位名;
13.修改欄位的排列位置
alter table 表名 modify 欄位1 資料型別 first | after 欄位名2;
14.更改表的存盤引擎
alter table 表名 engine=更改后的存盤引擎名;
15.洗掉表的外鍵約束
alter table 表名 drop foreign key 外鍵約束名;
16.洗掉表
drop table 表名;
17.插入資料
#單行插入:INSERT INTO 表名 (列欄位串列) VALUES(值內容串列);
#1.按照列欄位順序插入
INSERT INTO students(stu_no,stu_sex,stu_name,stu_age)VALUES(NULL,'女','李四',23);
#2.按照物理順序插入
INSERT INTO students VALUES(3,'王五','男',22);
#3.插入部分列的資料,其他列必須允許為空
INSERT INTO students(stu_name,stu_phone) VALUES('馬六','13477778888');
#多行插入:注意標識列不支持
INSERT INTO 表名 (列欄位串列) VALUES(),...,();
INSERT INTO 表名 (列欄位串列) SELECT 值內容串列 FROM 表名 WHERE 條件;
18.更新資料
1 UPDATE 表名 SET 列名 = 值 , ....列名 = 值 WHERE 條件;
2 例:UPDATE students SET stu_age=21 ,stu_bri='1997-09-11' WHERE stu_no=6;
19.洗掉資料
1 DELETE FROM 表名 WHERE 條件;
2 例:DELETE FROM students WHERE stu_no>3;
20.表的復制
1 #1.創建表復制
2 CREATE TABLE 新表 AS SELECT 列 FROM 舊表 [WHERE 條件];
3 CREATE TABLE new_user AS SELECT userid,username,useraddress FROM userinfo WHERE userage>30;
4 #2.插入資料時復制
5 INSERT INTO 新表 (列欄位) SELECT 列欄位 FROM 舊表 [WHERE 條件];
6 INSERT INTO new_user SELECT userid,username,useraddress FROM userinfo ;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/234683.html
標籤:其他
上一篇:資料庫&MySQL
