【MySQL】:利用DDL操作數據庫、表

一、DDL操作數據庫

關鍵字理應大寫,爲便於記憶,本篇都採用小寫形式。

DDL(DATA Definition Language):數據定義語言,用於定義數據庫對象。

1、創建數據庫

create database db1;	#創建一個數據庫,名字叫mydb
create database if not exists db2;	#如果db2不存在,則創建數據庫db2
create database db3 character set gbk;	#創建數據庫db3並制定字符集爲gbk

-- 綜合:如果db4不存在,就創建它,並且設置字符集爲utf8(!不是utf-8)
create database if not exists db4 character set utf8;

2、查看數據庫

show databases;			# 查詢所有數據庫的名稱
show create database db1; # 查詢已創建數據庫db1的字符集

3、修改數據庫

alter database db2 character set utf8;	#修改數據庫db2字符集爲utf8

4、刪除數據庫

drop database db4;		#刪除數據庫db4
drop database if exists db3;	#判斷是否存在並刪除db3

5、使用數據庫

use db1;	# 使用數據庫db1
select database(); #查看正在使用的數據庫

二、DDL操作數據表

在使用某個數據庫的前提下,纔可以操作庫裏面的表結構。

1、創建表

建表格式

create table 表名(
    列名1 數據類型1## 此處可添加字段註釋
    列名2 數據類型2## 此處可添加字段註釋
    ...
    列名n 數據類型n  ## 此處可添加字段註釋
); ## 最後一列列不需要加逗號

如:

create table student (
	id int, 	  -- 編號
	NAME varchar(20), -- 姓名
	gender char(8),	  -- 性別
	birthday date 	  -- 生日
);

MySQL數據類型

數據類型有許多,以下爲幾個比較基礎重要的。

文本相關

  • varchar(m):可變長度字符串 ,使用幾個字符就佔用幾個,m爲0-65535之間。
  • char(m):定長字符串,無論使用幾個字符都將佔滿全部,多餘的以空字符補充,m爲0-255之間。

關於char和varchar推薦看這篇:char與varchar類型區別的深度剖析

數相關

  • int:整數類型。
  • double:雙精度浮點數類型。
  • float:單精度浮點數類型。

時間相關

  • date:日期類型,只包含年月日:yyyy-MM-dd

  • time:時間類型,只包含時分秒:HH:mm:ss

  • datetime:日期和時間類型都有,包含年月日時分秒:yyyy-MM-dd HH:mm:ss

  • timestamp:時間戳 格式和上相同,如果不給這個字段賦值,則自動用系統默認時間賦值。

複製表

create table new_stu like old_stu;      # 複製表的操作

2、查看錶

show tables;   # 查詢該數據庫中所有的表名稱
desc student;	  # 查詢表student的結構

在這裏插入圖片描述

show create table student; #查看student的創建表 SQL 語句

3、刪除表

drop table student;				#刪除表student
drop table if exists student;	#判斷student是否存在,並刪除

4、修改表

修改表名

alter table student rename to stu;  # 把student表改名爲stu
rename table student to stu;

修改字符集

alter table stu character set gbk;   # 修改字符集爲gbk

添加表列

alter table stu add address varchar(20);  # 增加一列,列名爲address,數據類型varchar

修改列類型

alter table stu modify address char(10);  # 修改address的數據類型,改爲char

修改列名

alter table stu change address addr char(10);  #修改列名爲addr,數據類型改爲char

刪除列

alter table stu drop addr; 		# 刪除addr列
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章