mysql
創(chuàng)建指定的數(shù)據(jù)庫
CREATE DATABASE 數(shù)據(jù)庫的名字 charset = 'utf8';
查看創(chuàng)建好的數(shù)據(jù)庫;
show create database + 數(shù)據(jù)庫的名字;
創(chuàng)建好表以后可以查看表的內(nèi)容:
SHOW TABLES ;
插入數(shù)據(jù)
INSERT INTO students values('','','','','')
查看插入的內(nèi)容
SELECT * FROM + 表名
SHOW CREATE TABLE students;
DESC students;
刪除數(shù)據(jù)庫
1.刪除數(shù)據(jù)庫的語法: DROP DATABESE + 文件名
2.查看當(dāng)前存在的數(shù)據(jù)庫: SHOW CREATE DATABESE + 文件名;
3.當(dāng)你不再需要該表時孤钦, 用 drop弱恒;當(dāng)你仍要保留該表撩荣,但要刪除所有記錄時廉羔, 用 truncate蛔六;當(dāng)你要刪除部分記錄時(always with a WHERE clause), 用 delete.
ALTER
修改表的名字
ALTER TABLE + 舊表名 + RENAME(關(guān)鍵詞) + 新表名;
修改表的數(shù)據(jù)類型
ALTER TABLE + 表名 + MODIFY + 字段名 + 數(shù)據(jù)類型;
將表里的某個字段移動到某個字段之后
ALTER TABLE + 數(shù)據(jù)庫的名字 + MODIFY +將要移動的 字段 名+ 數(shù)據(jù)類型(例如 varchar) + AFTER + 字段名;
修改表內(nèi)某個字段的名字
ALTER TABLE + 表的名字 CHANGE + 舊字段名 + 新字段名 + 新字段的數(shù)據(jù)類型磷蜀;
新數(shù)據(jù)類型可以不修改轴捎,可以將'新數(shù)據(jù)類型' 繼續(xù)寫成 原來的字段數(shù)據(jù)類型
修改某個表內(nèi)的字段的數(shù)據(jù)類型 非空類型
ALTER TABLE +表名 MODIFY + 字段名 數(shù)據(jù)名(字段名是新的修改后的字段名)+ NOT NULL鹤盒;
刪除某個字段
ALTER TABLE + 數(shù)據(jù)庫的名字 + DROP + 字段名;
增加字段
ALTER TABLE + 數(shù)據(jù)庫的名字 ADD + 新字段名 + 新字段的數(shù)據(jù)類型;
將字段修改到第一位
ALTER TABLE + 數(shù)據(jù)庫的名字 MODIFY + 字段名 + 字段數(shù)據(jù)屬性 + FIRST;
刪除表的外鍵約束
ALTER TABLE + 表名 +DROP FOREIGN KEY + 外鍵名;
刪除外鍵前 先找的表的外鍵 用語法侦副; SHOW CREATE TABLE + 表的名 \G;
從某個表里挑選搜索某個內(nèi)容
SELECT +字段 + from + 表的名字 where + 需要尋找的內(nèi)容 (字段);
(可以是多個字段中間必須用 侦锯, 逗號隔開 )
舉例:select name from students where age = 21 找年齡為21的名字的
搜索表里某個字段的某個內(nèi)容
SELECT + 字段 + FROM + 表名 + WHERE + 需要搜索的內(nèi)容(字段) + LIKE + 具體要求;
字段是可以寫多個,中間不必須用 跃洛,逗號隔開
舉例率触;SELECT name,sex,age FROM STU WHERE name LIKE '%奇%';
SELECT
查找單個列 SELECT name FROM badboy;
語法;SELECT + 字段名 + FROM + 表名;
結(jié)束SQL語句汇竭,多條SQL語句必須以分號(;)分隔 關(guān)鍵字大寫葱蝗,所有列和表名使用小寫
查找多個列 SELECT name,age,id FROM badboy; 語法;SELECT + 字段 + from + 表名;
字段可以是多個字段(字段之間必須用 细燎,逗號隔開)
SELECCT + concat (name,id) FROM badboy; 兩個字符段在一格中出現(xiàn) concat相當(dāng)于join
查看所有列 SELECT * from 表名;
通配符 除非確實(shí)需要表中的每個列两曼,否則最好別使用*通配符,檢索不需要的列通常會降低檢索和應(yīng)用程序的性能
查看不同的行
SELECT distinct age FROM badboy;
去重 order by age
排序 order by age desc
降序排序 descend
降序(desc) ascend升序(asc)
默認(rèn)的情況是升序
限制結(jié)果limit SELECT * FROM badboy LIMIT 5;
顯示表中的5行 . *limit 顯示幾行 5,5從行5開始的5行 除去語法內(nèi)要求的5行 . 從第 6 行開始
limit 4 offset 3 .從行3開始取4行 = limit 3,4
使用完全限定的表名
SELECT badboy.name FROM stu_220.badboy;
查看表內(nèi)(badboy)的某個字段(name) 從某個數(shù)據(jù)庫(stu_220)的某個表(badboy)
ORDER BY 排序
order by SELECT name,age FROM students ORDER BY age asc(desc)
順序查看表內(nèi)的某個字段(可以多字段) oRDER BY(排序)根據(jù)某個字段來排序 根據(jù)年齡進(jìn)行升序(降序)排列
where 子句 應(yīng)該讓order by位于where子句之后玻驻,否則會出錯 <>不等于 !=不等于
SELECT name,age,birthday FROM students where sex='女' AND age >25 ORDER BY birthday desc;
查找某個字段(可以是多字段)
從某個表 從(WHERE) 更進(jìn)一步確定條件(某個要求) 通過某個字段排序(ORDER BY)升序(desc)還是降序(asc)
between語句
select name,age from students where age between 18 and 20;
18到20歲之間的同學(xué)
SELECT name,age FROM students WHERE initial rgexp '^[a-f]';
組合where子句
and操作 select name,age,place from students where age < 20 and place like '山西%';
or操作 select name from students where age=19 or age=20 or age=21;
or 和 and 一起出現(xiàn)需要加圓括號來消除歧義 select name,age form students where age in (18,19); select name,age form students where age between 18 and 19; select name,age form students where age>=18 and age <=19; in操作符一般比or操作符清單執(zhí)行更快 in的做大優(yōu)點(diǎn)是可以包含其他select語句悼凑,使得能夠更動態(tài)地建立where語句