MySQL创建和操纵数据库和表(DDL)最全总结(小白都能能懂哦)
1.操作數據庫
1.1創建數據庫
create + database + 數據庫名稱
當然如果我們不知道數據庫是否存在,如果存在就不創建,不存在就創建可以用以下語句
create + database + if not exists + 數據庫名稱
我們還可以在創建數據庫的時候指定字符集
create + dabase + if not exists + 數據庫名 +character set + 字符集名
1.2查詢數據庫
查詢所有已經存在的數據庫
show databases
查詢某個數據庫的創建語句和所使用的字符集
show create database + 數據庫名稱
1.3修改數據庫
修改數據庫字符集
alter database + 數據庫名稱 + character set + 字符集名稱
1.4刪除數據庫
drop database +數據庫名
同樣的,也可以加上 if not exists
drop database + if exists + 數據庫名稱
1.5使用數據庫
使用數據庫
use + 數據庫名稱
查詢當前正在使用數據庫的名稱
select database()
2.操作表
2.1MySQL數據類型
| tinyint | 存儲1字節8位的整數 |
| int/integer | 存儲4字節32位的整數 |
| float | 存儲單精度浮點數 |
| double | 存儲雙精度浮點數 |
| char(n) | 存儲字符 |
| varchar(n) | 存儲字符 |
| date | 存儲日期,只包含年月日格式:yyyy-MM–dd |
| datetime | 存儲日期,包含年月日時分秒,格式:yyyy-MM-dd HH:mm:ss |
| timestamp | 存儲日期,包含年月日時分秒,格式:yyyy-MM-dd HH:mm:ss |
問題1:varchar和char的特點和區別
char的特點:
1.char表示定長字符串,長度是固定的(比如char(5)即使不夠5個字符也是按5個字符存儲)
個字符也會按照5個字符存儲);
2.如果插入數據的長度小于char的固定長度時,則用空格填充;
3.因為長度固定,所以存取速度要比varchar快很多,甚至能快50%,但正因為其長度固定,所以會占據多余的空間,是空間換時間的做法;
4.對于char來說,最多能存放的字符個數為255,和編碼無關
varchar的特點:
1.varchar表示可變長字符串,長度是可變的(比如varchar(5)不夠5個字符,比如3個那么就按照三個字符存儲);
2.插入的數據是多長,就按照多長來存儲;
3.varchar在存取方面與char相反,它存取慢,因為長度不固定,但正因如此,不占據多余的空間,是時間換空間的做法;
4.對于varchar來說,最多能存放的字符個數為65532
兩者的區別:
結合性能角度(char更快)和節省磁盤空間角度(varchar更小)
還有一個點兩者都存儲字符
張三:代表兩個字符
zhangsan:代表八個字符
問題2:int(20)中20的涵義
是指顯示字符的長度。20表示最大顯示寬度為20,但仍占4字節存儲,存儲范圍不變;
不影響內部存儲,只是影響帶 zerofill 定義的 int 時,前面補多少個 0,易于報表展示
問題3:float和double的區別是什么?
1.float類型數據可以存儲至多8位十進制數,并在內存中占4字節。
2.double類型數據可以存儲至多18位十進制數,并在內存中占8字節。
問題4:datetime和timestamp的區別?
對于類型為timestamp的字段來說,不給這個字段賦值或者給這個字段賦空值那么都會默認使用當前系統時間
2.2創建表
create table +表名(
列 數據類型,
列 數據類型,
.........
列 數據類型
)
有時候我們想 復制一個表的結構:
create table + 復制的新表名 + like + 被復制的表
有時候我們想 復制表的所有內容:
create table + 復制的新表名 + select * from 要復制的表名
注意沒有like
有時候我們 只復制部分內容:
create table + 復制的新表名 + select語句
有時候我們 只復制部分表的字段結構
create table + 復制的新表名 + select 需要復制的字段 +from 要復制的表 + where + 一個恒不成立的條件(如0=1)
2.3查詢表
查詢數據庫中所有的表的名稱
show tables
查詢表結構
desc + 表名
2.4刪除表
drop table + if exists + 表名
2.5修改表
修改表名
alter table + 表名 + rename to + 新表名
修改表的字符集
alter table + 表名 + character set + 字符集名稱
添加一列
alter table + 表名 + add + (column) + 列 數據類型
修改列名稱
alter table + 表名 + change + (column) + 列名 新列名 數據類型
修改列類型
alter table 表名 modify + (column) + 列名 新的數據類型
刪除列
alter table + 表名 + drop 列名
總結
以上是生活随笔為你收集整理的MySQL创建和操纵数据库和表(DDL)最全总结(小白都能能懂哦)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL入门篇(含数据库的备份)
- 下一篇: MySQL五大约束详解(我有多详细只有我