MySQL數據庫基本使用

MySQL是一種開源的關係型數據庫管理系統,而且由於其性能、可靠性和適應性而備受關注。下面是最近一個月MySQL、Oracle、SQL Server的百度指數搜索指數對比:sql

 

能夠看到,在最近一個月,MySQL的搜索量要遠遠高於其餘兩種數據語言,代表了MySQL的用戶較多。在平時的項目中也常用,所以,先整理一下最基本的庫和表結構的增刪改查,其餘內容後續再整理。數據庫

CREATE DATABASE db1 CHARSET utf8; --建立數據庫db1
show DATABASES; --查看全部數據庫
show create database db1; --查看新建立的數據庫db1
drop database db1; --刪除數據庫db1
use db1; --選擇數據庫db1
show tables; --查看數據庫中的全部表
desc t1; --查看數據表t1的結構
--建立數據表t1
create table t1(
id int PRIMARY key auto_increment,
name varchar(11) not null,
age int(3),
sex enum("male","female")); --使用枚舉類型,sex的值只能是枚舉中的任意一個
select * from t1; --無條件查詢表t1的全部記錄
--往表t1中插入數據
insert into t1(id,name,age,sex) values(1,"wang",22,"male");
insert into t1(id,name,age,sex) values(2,"zhang",23,"female"),
(3,"li",22,"female"),
(4,"chen",22,"male");
insert into t1(name,age,sex) values("zhao",22,"male");
describe t1; --查看錶結構
alter table t1 rename t2; --修改表名
desc t2;
alter table t2 engine=innodb; --修改表的存儲引擎
--增長字段
alter table t2
add address varchar(255) not null after name;
alter table t2
add status varchar(255) not null first;
--刪除字段
alter table t2 drop status;
--修改字段
alter table t2 modify address varchar(125) not null;
alter table t2 change address dizhi varchar(22) not null;
alter table t2 change dizhi address varchar(255) not null;
--刪除主鍵
alter table t2 modify id int(15) not null;
desc t2;
--複製表
create table t3 select * from t2 where 1=2; --只複製表結構,不復制記錄,key也不復制
show tables;
desc t3;
create table t4 select * from t2; --複製表結構和記錄,key不復制
alter table t4 add primary key(id,name);
alter table t4 modify id int auto_increment;
desc t4;
--刪除表
drop table t3;
alter table t3 add money decimal(4,2) not null;
alter table t3 modify id int primary key auto_increment not null;
insert into t3(name,address,age,sex,money) values("zhang","pingling",22,"male",99.99);
--decimal(m,n) m表示數據的總位數,n表示小數點後的位數,不算負號,精確的
--sql優化:建立表時,定長的類型往前放(好比性別),變長的類型網後放(好比地址、描述信息)性能

相關文章
相關標籤/搜索