1. 程式人生 > 實用技巧 >mysql中的一些知識點

mysql中的一些知識點

資料庫 DataBase  資料的倉庫
DDL 定義資料庫物件語言 資料庫,表,列,索引,儲存過程等 
DML對資料的操作 crud
DCL 訪問許可權控制語言
DQL資料庫查詢語言

建立資料庫
create database g2071;
使用資料庫
use g2071;
建立表
create table tb_user(列名1 資料型別[長度],列名2資料型別[長度],...列名 資料型別[長度])

插入資料
插入的值要與列對應 ,資料型別要一致
insert into 表名(列名1,列名2,列名3...)values(值1,值2,值3...);

刪除
delete from 表名 where
條件 單行或多行刪除 全表刪除 delete from 表名 truncate table 表名 ,僅保留表結構,資料全部清除。注意:事務不可以回滾 drop table 表名。表結構和資料一併刪掉,事務不可回滾 更新資料 update 表名 set 列名=值,列2=值2 ... where 條件 查詢 單行查詢 select * from 表名 where name='' id=2 多行查詢 select * from 表名 模糊查詢 like select * from tb_user where name like
'%雪%' 第幾個字元是某值,例:第二個字元是雪 _ select * from tb_user where name = '_雪'; and or select * from tb_user where age >=18 and age <=25 select * from tb_user where age =18 or age =25 聚合函式 count:總記錄數 sum:求和 avg:平均 max:最大值 min:最小值 排序 order by asc 升序 desc 倒序 分組函式 一個列相同的值只出現一個 group by 配合聚合函式使用 having
分組之後再次過濾資料用的 select from where group by having order by 約束:對資料進行檢查驗證 主鍵:primary key auto_increment 非空且唯一 非空:not null 不能為null unique:唯一約束 可以有多個null值,非空的只能有一個 關聯關係 表與表之間是有關係的 一對一 人跟身份證 一對多 人跟手機 人跟汽車 多對多 訂單與訂單明細 學生與課程 關聯關係:查詢的時候要加上 條件的數量是:N-1 假設有3張表 最少有2個條件 DROP DATABASE g2071; CREATE DATABASE g2071; #學生表 CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(30), sex CHAR(3) ) INSERT INTO student(id,NAME,sex)VALUES(1,'張三',''),(2,'李四',''); SELECT * FROM student; #課程表 CREATE TABLE kecheng( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(30) ) INSERT INTO kecheng(id,NAME)VALUES(1,'Java'),(2,'MySQL'); SELECT * FROM kecheng; #成績表 #定義兩個外來鍵 CREATE TABLE score( stu_id INT, kecheng_id INT, score INT, FOREIGN KEY(stu_id) REFERENCES student(id), FOREIGN KEY(kecheng_id) REFERENCES kecheng(id) ) INSERT INTO score(stu_id,kecheng_id,score)VALUES(1,1,90),(1,2,95),(2,1,89),(2,2,99); SELECT * FROM score; #關聯表查詢 SELECT s.name,k.name,sc.score FROM student s,kecheng k,score sc WHERE s.id = sc.`stu_id` AND k.id = sc.`kecheng_id` AND s.id = 1