sql devalop连接mysql_SQL-Mysql表结构操作
一 前言
本篇內容是關于 基本的數據庫操作,建表,表結構修改等內容;
學習本篇的基礎是知識追尋者以前發布的文章:
公眾號:知識追尋者
知識追尋者(Inheriting the spirit of open source, Spreading technology knowledge;)
二 SQL 分類操作
2.1 SQL 分類
sql 對數據庫的操作分為如下三種類型,如果都學會這三種SQL語言熟練對數據庫操作,說明你已經對數據庫登堂入室,如果再學會數據庫高級操作,說明你對數據庫就有一定的使用經驗,如果你還學會對數據庫進行優化,分表分庫,讀寫分離等操作,說明你使用數據庫已經到專家級別;
DDL:數據定義語言(Data Define Language),即定義數據的結構。比如:create,drop,alter操作
DML:數據管理語言(Data Manage Language),即增刪改查。比如:insert,delete,update,select。這個也在之前的文章詳細寫過,不再提及;
DCL:數據控制語言(Data Control Language),對權限、事務等的控制。比如:grant(授權)revoke(取回權限),commit,roolback等; 事物在上篇已經說明,不會在本篇提及;
2.2 數據庫基操
數據庫的基本操作如下,也就是我們日常使用的操作
連接數據庫: mysql -h 地址 -P 端口 -u 用戶名 -p 密碼;
mysql -h 192.168.0.127 -P 3306 -u root -p root
查看當前數據庫:
SELECT DATABASE();
顯示用戶活動線程:
SHOW PROCESSLIST;
顯示系統變量:
SHOW VARIABLES;
顯示當前時間,用戶,數據庫版本號
SELECT now(), user(), version();
創建數據庫:CREATE DATABASE[ IF NOT EXISTS] 數據庫名 [數據庫選項]
數據庫選項:
CHARACTER SET 字符集名稱
COLLATE 排序規則名稱
示例:create database zszxz;
刪除數據庫: DROP DATABASE [ IF EXISTS] 數據庫名;
drop database zszxz;
2.3 建表語句
數據庫表的日常操作如下
CREATE [TEMPORARY] TABLE[ IF NOT EXISTS] [庫名.]表名 ( 表的結構定義 ) [ 表選項]
其中 TEMPORARY 表示臨時表;中括號內容都表示可選,在正規的數據庫版本管理開發會經常使用到;
字段的修飾如下 數據類型
非空|空約束:[NOT NULL | NULL]
默認值:[DEFAULT default_value]
自動增長:[AUTO_INCREMENT]
唯一鍵|主鍵:[UNIQUE [KEY] | [PRIMARY] KEY]
備注:[COMMENT 'string']
表選項一般就是指定數據庫引擎和字符集:
ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='顧客表';
示例
CREATE TABLE IF NOT EXISTS `customer` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
`customer_name` varchar(255) DEFAULT NULL COMMENT '顧客名稱',
`gender` varchar(255) DEFAULT NULL COMMENT '性別',
`telephone` varchar(255) DEFAULT NULL COMMENT '電話號碼',
`register_time` timestamp NULL DEFAULT NULL COMMENT '注冊時間',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='顧客表';
2.4 修改表結構
查看所有表
SHOW TABLES
查看指定數據庫的表
SHOW TABLES FROM 數據庫名稱;
示例:SHOW TABLES FROM zszxz;
刪除表
DROP TABLE[ IF EXISTS] 表名;
示例: drop table op;
清空表(清除數據)
TRUNCATE [TABLE] 表名
復制表結構
CREATE TABLE 表名 LIKE 要復制的表名;
示例: create table op like `order`;
復制表結構和數據
CREATE TABLE 表名 [AS] SELECT * FROM 要復制的表名;
示例: CREATE TABLE op AS SELECT * FROM `order`;
常見的alter操作如下:
增加一列(追加至末尾)
alter table [數據庫名.]表名 add [column] 字段 數據類型;
示例: alter table `order` add column `year` year ;
增加到第一列
alter table [數據庫名.]表名 add [column] 字段 數據類型 first;
增加一列到指定字段名后
alter table [數據庫名.]表名 add [column] 字段 數據類型 after 另一個字段;
修改字段名的 數據類型
alter table [數據庫名.]表名稱 modify [column] 字段名 新的數據類型;
示例: altert table `order` modify column `gender` tinyint;
修改表字段的數據類型,并且移動至第一列
alter table [數據庫名.]表名稱 modify [column] 字段名 數據類型 first;
修改表字段的數據類型,并且移動至指定字段后面
alter table [數據庫名.]表名稱 modify [column] 字段名 數據類型 after 另一個字段名;
修改表字段的名稱
alter table [數據庫名.]表名稱 change [column] 舊字段名 新的字段名 數據類型;
添加主鍵
alter table [數據庫名.]表名稱 ADD PRIMARY KEY(字段名);
示例: altert table `order` add primary key(`id`)
添加唯一鍵
alter table [數據庫名.]表名稱 ADD UNIQUE [索引名] (字段名)
添加索引
alter table [數據庫名.]表名稱 ADD INDEX [索引名] (字段名)
刪除一列
alter table [數據庫名.]表名稱 drop [column] 字段名;
示例:altert table `order` drop column `gender`;
刪除索引
alter table [數據庫名.]表名稱 DROP INDEX 索引名
刪除主鍵
alter table [數據庫名.]表名稱 DROP PRIMARY KEY
刪除外鍵
alter table [數據庫名.]表名稱 DROP FOREIGN KEY 外鍵
關注知識追尋者:
總結
以上是生活随笔為你收集整理的sql devalop连接mysql_SQL-Mysql表结构操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python调用百度语音实时转为文字_百
- 下一篇: 二级指针、数组指针、二维数组、指针数组作