sql語法與基本操作

一、表操作

1、創(chuàng)建表

create table '表名'(
'id' int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT'ID',
'name' varchar(100) DEFAULT NULL COMMENT'名稱',
PRIMARY KEY('id') USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8
ROW_FORMAT=DYNAMIC COMMENT='表注釋';

2、刪除表

drop table 表名

二、常見的語法格式

1、alter teble<表名>[修改選項]

  • 修改選項的語法格式如下
語法 說明
add column<列名><類型> 添加字段
change column<舊列名><新列名><新列類型> 改變字段名
modify column<列名><類型> 修改字段類型
drop column<列名> 刪除字段
rename to<新表名> 修改表名

2、mysql表數(shù)據(jù)的基本增刪改查

語法 說明
insert into 表名(字段名) values(字段值1,字段名2) 插入一條數(shù)據(jù)
delete from 表名 where 字段名1=字段值1 刪除一條數(shù)據(jù)
delete from 表名 刪除表里所有數(shù)據(jù)
select * from 表名 查詢數(shù)據(jù)
update 表名 set 字段名1 =字段值1 where 字段名2=字段值2 更新數(shù)據(jù)
update 表名 set 字段名1 =字段值1 修改表里所有數(shù)據(jù)

2、mysql高級查詢、排序、分頁、去重

語法 說明
select fileds from table_name 字段查詢
select * from table_name where a=1 條件查詢
select * from table_name order by b desc 排序
select * from table_name order limit 10 offset 0 分頁
select distinct gender from employees 去重

3、mysql比較、通配

語法 說明
= 等于
> 大于
< 小于
<> 不等于
where price betweed 10 and 20 范圍限定
where CoustomerName like '%or' 通配
where Country in ('Germany','France','UK'); 子集限定
and or not 邏輯關(guān)系

4、常用函數(shù)

  • 基本語法
group by 字段 having 條件
  • 常用函數(shù)
語法 說明
COUNT 統(tǒng)計
MAX 最大
MIN 最小
SUM 求和
AVG 平均數(shù)
  • 示例
select count(gender),gender from employees group by gender;
select count(gender),gender from employees group by gender having gender='F';

三、join 多表查詢

1、左連接查詢 left join

  • 語句
select * from a_table a left join b_table b ON a.a_id = b.b_id;
  • 說明
    left join 是left outer join的簡寫,它的全稱是左外連接,是外連接中的一種。左(外)連接,左表(a_table)的記錄將會全部表示出來,而右表(b_table)只會顯示符合搜索條件的記錄,右表記錄不足的地方均為null
  • 示例sql:
select j_course.id,j_course.name,j_chapters.name from j_course left join j_chapters on j_course.id = j_chapter.course_id;

2、右連接查詢 right join

  • 語句
select * from a_table a right outer join b_table b ON a.a_id = b.b_id;
  • 說明
    right join 是right outer join的簡寫,它的全稱是右外連接,是外連接中的一種。與左(外)連接相反,右(外)連接,右表(a_table)的記錄將會全部表示出來,而左表(b_table)只會顯示符合搜索條件的記錄,左表記錄不足的地方均為null
  • 示例sql:
select j_course.id,j_course.name,j_chapters.name from j_course right join j_chapters on j_course.id = j_chapter.course_id;

3、內(nèi)接查詢 inner join

  • 語句
select * from a_table a inner join b_table b ON a.a_id = b.b_id;
  • 說明
    組合兩個表中的記錄,返回關(guān)聯(lián)字段相符的記錄,也就是返回兩個表的交集部分
  • 示例sql:
select j_course.id,j_course.name,j_chapters.name from j_course inner join j_chapters on j_course.id = j_chapter.course_id;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容