Day41 (07/24)mysql
阿新 • • 發佈:2017-07-24
空格 spa 列名 規範 小寫 index base bit rom
MySQL數據庫
sql語句
sql是Structured Query Language(結構化查詢語言)的縮寫。SQL是專為數據庫而建立的操作命令集,是一種功能齊全的數據庫語言。
在使用它時,只需要發出“做什麽”的命令,“怎麽做”是不用使用者考慮的。SQL功能強大、簡單易學、使用方便,已經成為了數據庫操作的基礎,並且現在幾乎所有的數據庫均支持sql。
sql規範
<1> 在數據庫系統中,SQL語句不區分大小寫(建議用大寫) 。但字符串常量區分大小寫。建議命令大寫,表名庫名小寫;
<2> SQL語句可單行或多行書寫,以“;”結尾。關鍵詞不能跨多行或簡寫。
<3> 用空格和縮進來提高語句的可讀性。子句通常位於獨立行,便於編輯,提高可讀性。
1 2 |
SELECT * FROM tb_table
WHERE NAME = "YUAN" ;
|
<4> 註釋:單行註釋:--
多行註釋:/*......*/
<5>sql語句可以折行操作
<6> DDL,DML和DCL
View Code關於數據庫操作的sql語句
-- 1.創建數據庫(在磁盤上創建一個對應的文件夾) create database [if not exists] db_name [character set xxx] -- 2.查看數據庫 show databases;查看所有數據庫 show create database db_name; 查看數據庫的創建方式 -- 3.修改數據庫 alter database db_name [character set xxx] -- 4.刪除數據庫 drop database [if exists] db_name; -- 5.使用數據庫 切換數據庫 use db_name; -- 註意:進入到某個數據庫後沒辦法再退回之前狀態,但可以通過use進行切換 查看當前使用的數據庫 select database();
數據表的增刪改查
創建一張表
-- 語法 create table tab_name( field1 type[完整性約束條件], field2 type, ... fieldn type )[character set xxx];
示例:
-- 創建一個員工表employee create table employee( id int primary key auto_increment , name varchar(20), gender bit default 1, -- gender char(1) default 1 ----- 或者 TINYINT(1) birthday date, job varchar(20), salary double(4,2) unsigned, resume text -- 註意,這裏作為最後一個字段不加逗號 ); /* 約束: primary key (非空且唯一) :能夠唯一區分出當前記錄的字段稱為主鍵! unique not null auto_increment :用於主鍵字段,主鍵字段必須是數字類型 */
查看表信息
desc tab_name 查看表結構 show columns from tab_name 查看表結構 show tables 查看當前數據庫中的所有的表 show create table tab_name 查看當前數據庫表建表語句
修改表結構
-- (1)增加列(字段) alter table tab_name add [column] 列名 類型[完整性約束條件][first|after 字段名]; alter table user add addr varchar(20) not null unique first/after username; #添加多個字段 alter table users2 add addr varchar(20), add age int first, add birth varchar(20) after name; -- (2)修改一列類型 alter table tab_name modify 列名 類型 [完整性約束條件][first|after 字段名]; alter table users2 modify age tinyint default 20; alter table users2 modify age int after id; -- (3)修改列名 alter table tab_name change [column] 列名 新列名 類型 [完整性約束條件][first|after 字段名]; alter table users2 change age Age int default 28 first; -- (4)刪除一列 alter table tab_name drop [column] 列名; -- 思考:刪除多列呢?刪一個填一個呢? alter table users2 add salary float(6,2) unsigned not null after name, drop addr; -- (5)修改表名 rename table 表名 to 新表名; -- (6)修該表所用的字符集 alter table student character set utf8;
刪除表
drop table tab_name;
http://www.cnblogs.com/yuanchenqi/articles/7148750.html 參考老師博客
Day41 (07/24)mysql