MySQL 基礎語法結構
阿新 • • 發佈:2018-06-03
lte 屬性 where evo 查詢 change utf8 分開 bsp
增、刪、改、查
庫 DATABASE
1,創建數據庫【增】
create database dbname charset utf8; #創建 數據庫 庫名 設置編碼 UTF8
2,查詢庫【查】
show create database dbname; #查詢數據庫的 創建信息 show databases; #列出所有存在的數據庫名
3,改數據庫【改】
alter database db1 charset gbk; #更改 數據庫 名 編碼格式 GBK #更改數據庫名為db1的數據庫編碼為gbk。
4,刪除數據庫【刪】
drop databasedb1; #刪 數據庫 名
表 TABLE
切換庫: use DataBaseName;( 庫等同於文件夾,切換庫就如同切換文件夾 )
查看當前庫: select database();(查看當前所在的庫名,就相當於查看當前文件夾名)
表的操作就是在庫(文件夾)內部操作,每一個表就相當於是庫中的文件,表名就是文件名,表內容就是文件內容。創建的表會生成兩個文件,一個是*.frm 另一個是 *.ibd。
1,創建表【增】
#語法形式 create table 表名( 字段名1 類型[(寬度) 約束條件], 字段名2 類型[(寬度) 約束條件], 字段名3 類型[(寬度) 約束條件] ); #字段間用‘,‘逗號分開,最後一個不要有‘,‘逗號。 #語句樣式 create table t1(id int,name char); #創建 表 表名 (列名 屬性)
2,查詢表【查】
show create table t1; #查詢 已創建 表的屬性信息 “\G”使用後會格式化顯示。 desc t1; #與上一條一樣,查詢已創建表的屬性信息。 show tables; #查詢當前庫中所有表的名字。
3,修改表結構【改】
#修改表名 alter table t1 rename newt1 #修改 表 表名 改名 新表名 #增加字段 alter tablet1 add remarks char(10); #修改 表 表名 增加 字段名 字段類型 alter table t1 add remarks char(10), add remarks2 char(11); #註:添加多個字段用‘,‘逗號分隔,‘;‘分號結束,但都需要 ADD 字段名 數據類型 格式。 alter table t1 add newfield int first; #修改 表 表名 增加 字段名 字段類型 添加最前面 #註:first 表示將該條字段添加到表的最前面。 alter table t1 add newfield1 int after name; #修改 表 表名 增加 字段名 字段類型 在...後面 字段名 #註:after + 字段名 意思是將新的字段名填加到某字段名之後。 #刪除字段 alter table t1 drop newfield1; #修改 表 表名 丟掉 字段名 #修改字段 alter table t1 modify name char(10); #修改 表 表名 屬性 列名 屬性值 alter table t1 change name Name char(10); #修改 表 表名 更改 列名(舊) 列名(新) 屬性值
4,刪除表【刪】
drop table t1; #刪 表 表名
復制表
1. 先建立一個空庫 : create database db3 charset utf8; 2. 使用新庫: use db3; 3. 【方法一】復制目標庫表中的字段: create table t1 select host,user from mysql.user; 新建 表 表名 查找 字段名 從 目標庫.目標表; #註:復制過後表的結構屬性和表內字段數據一同都拷貝過來了。如果只想拷貝表結構,可以使用where條件或讓where後的條件式不成立,這樣就只拷貝表結構了。 #例:create table t1 select host,user from mysql.user where 1>5; #【方法二】復制表結構: create table t1 like mysql.user; #新建 表 表名 像 目標庫.目標表 #註:只拷貝表結構,不含字段內容
記錄 Record
1,添加記錄【增】
insert into t1(id,name) value (id,name); #插入 到 表名(列名) 值 (列名) #into可以不寫,但建議寫上,使語句結構完整易讀,另外就算是一個列名也必須加括號。例:t1(name) value (name) insert into t1 value(id,name),(id,name); insert into t1(name) value (name),(name); #插入 到 t1 值為(列名),如果指定了表中的某列,那麽值也要按指定的格式賦值,如二例所示。
2,查表記錄【查】
select id,name from t1; #查詢 列名 從 表名 select id,name from db1.t1; #查詢 列名 從 數據庫名.表名 select * from t1; #查詢 所有列 從 表名
3,改表信息【改】
update db1.t1 set name=‘sly‘; #更新 數據庫名.表名 設置 列名=新值 #將數據庫db1中的t1表中name列內容改為‘sly‘。 update t1 set name=‘sly‘ where id=2; #更新 表名 設置 列名=新值 條件 條件值 #更新 t1表中的name列的內容改為‘sly,條件為id為2的記錄。
4,刪除記錄【刪】
delete from t1; #刪除 從 表名 #刪除t1表中的所有記錄。 delete from t1 where id=2; #刪除 從 表名 條件 條件值
SQL語句的基本概念
SQL語言主要用於存取數據、查詢數據、更新數據和管理關系數據庫系統,SQL語言由IBM開發。SQL語言分為3種類型:
1、DDL語句 數據庫定義語言: 數據庫、表、視圖、索引、存儲過程,例如CREATE DROP ALTER
2、DML語句 數據庫操縱語言: 插入數據INSERT、刪除數據DELETE、更新數據UPDATE、查詢數據SELECT
3、DCL語句 數據庫控制語言: 例如控制用戶的訪問權限GRANT、REVOKE
庫的命名規則
可以由字母、數字、下劃線、@、#、$
區分大小寫
唯一性
不能使用關鍵字,如create select
不能單獨使用數字
最長128位
使用help + 命令 可以查看SQL語句的用法.
表
表的類型 就是 存儲引擎
一、查看MySQL支持的存儲引擎
#命令
show engines;
註:MySQL支持多種存儲引擎,是需要關註innoDB,MySQL的默認引擎。
二、指定表類型(存儲引擎)
#例: create table t1(id int) engines=innoDB;
innoDB在庫中是兩張表。
MySQL 基礎語法結構