tft每日頭條

 > 科技

 > 如何使用sql創建數據表

如何使用sql創建數據表

科技 更新时间:2024-07-21 03:16:34

1、創建表:

關鍵字(保留字)CREATE TABLE

例子一:教師表

CREATE TABLE teacher ( teacher_id varchar(50) not null, teacher_name varchar(100) not null default'', gender varchar(10) not null default 'F', );

例子二:班級表

CREATE TABLE class ( class_id varchar(50) not null, class_name varchar(100) not null default'' );

例子三:學生表

CREATETABLEstudent ( student_id varchar(50) not null, student_name varchar(100) not null default'', gender varchar(10) not null default'', age integer not null default 0,class_idvarchar(50)notnulldefault'' )

2、表的修改操作:

更新表:RENAMETABLE舊表名TO新表名;更新字段名:ALTER TABLE 表名 CHANGE 舊字段名 新字段名 字段類型;更新字段類型、NULL值、默認值:ALTER TABLE 表名 MODIFY 字段名 新字段類型;删除字段默認值:ALTER TABLE 表名 ALTER COLUMN 字段名 DROP DEFAULT;設置主鍵:ALTER TABLE 表名 ADD PRIMARY KEY(主鍵字段列表);删除主鍵:ALTER TABLE 表名 DROP PRIMARY KEY;新增字段:ALTER TABLE 表名 ADD COLUMN 新字段名 字段類型及其他屬性;删除字段:ALTER TABLE 表名 DROP COLUMN 字段名;删除表:DROP TABLE 表名;克隆表:SELECT * INTO teacher_bak FROM teacher;(方法一) CREATE TABLE teacher_bak AS SELECT *FROM teacher(方法二) (以表名teacher為例) 插入整行字段:INSERT INTO teacher VALUES ('T0001','高齊妍','男');(方法一) INSERT INTO teacher(teacher_id,teacher_name,gender) VALUES ('T0001','高齊妍','男');(方法二更安全)

3、查詢數據:SELECT 字段列表 FROM 表名;

SELECT teacher_id FROM teacher;

SELECT teacher_id,teacher_name,gender FROM teacher;

4、排序返回結果:SELECT 字段列表 FROM 表名

ORDER BY 字段1[ASC/DESC],字段2[ASC/DESC]...; (ASC升序,DESC降序)

按age升序排列:SELECT class_id,student_id,student_name,gender,birth_day,age FROM student ORDER BY age ASC; #等價寫法如下: SELECT class_id,student_id,student_name,gender,birth_day,age FROM student ORDER BY age;

按age和student_name升序排列:SELECT class_id,student_id,student_name,gender,birth_day,age FROM student ORDER BY age ASC,student_name ASC; #等價寫法如下: SELECT class_id,student_id,student_name,gender,birth_day,age FROM student ORDER BY 6 ASC,3 ASC; #6和3表示排在第6和排在第3的字段

返回前幾行:關鍵字LIMIT

寫法:

SELECT 字段列表 FROM 表名 LIMIT 10;#返回查詢結果的前10行

返回中間幾行:關鍵字 LIMIT M OFFSET N (從第N行開始,返回M行記錄)

兩種寫法:

SELECT 字段列表 FROM 表名 LIMIT M OFFSET N;

SELECT 字段列表 FROM 表名 LIMIT N,M;

特例:SELECT 字段列表 FROM 表名 LIMIT 0,10;等價于

SELECT 字段列表 FROM 表名 LIMIT 10;

返回後幾行:TOP、LIMIT

舉例:

第1步:先按學生編号倒序排序;

第2步:返回排序後的前5行;

第3步:将前5行數據升序排序;

SELECT *FROM ( SELECT TOP 5 * FROM student ORDER BY student _id DESC )a ORDER BY student_id ASC

5、過濾數據:關鍵字WHERE

SELECT 字段列表 FROM 表名 WHERE 過濾條件:

例子:

SELECT student_id,student_name FROM student WHERE gender='男';

SELECT *FROM student WHERE age<>10;

過濾NULL值:

例子:

SELECT *FROM student WHERE student_id NOT IN('S20160001','S20160002');

SELECT *FROM student WHERE class IS NULL;

關鍵字BETWEEN:

例子:

SELECT *FROM student WHERE student_id NOT IN('S20160001','S20160002');

關鍵字IN(包含)、NOT IN(不包含):

例子:

SELECT *FROM student WHERE student_id NOT IN('S20160001','S20160002');

SELECT *FROM student WHERE student_id NOT IN('S20160001','S20160002');

SELECT *FROM student WHERE student_id NOT IN('S20160001','S20160002');

6、高級過濾數據:

(1)、使用通配符過濾數據:關鍵字LIKE

百分号% 匹配0~多個任意字符

下劃線_ 匹配1個任意字符

方括号[]、[^] 匹配1個字符集中的字符 #MySQL不支持方括号

例子:

SELECT *FROM student WHERE student_name LIKE '陳%'; #選出學生中姓陳的同學

SELECT *FROM student WHERE student_name LIKE '劉_'; #選出學生中姓劉且名字隻有兩個字的同學

SELECT *FROM student WHERE student_name LIKE '%慧'; #選出學生中名字裡有慧字的同學

如何使用sql創建數據表(表的創建與基本操作)1

以下兩句不支持在MySQL中查詢:

SELECT *FROM student WHERE student_id LIKE 'S200[678]'; #選出學生中學号為S2006、S2007、S2008的同學

SELECT *FROM student WHERE student_id LIKE 'S200[^678]'; #選出學生中學号不為S2006、S2007、S2008的同學

使用通配符的注意點:

不要過度使用通配符;

如果确實需要使用,也盡量不要把通配符用在匹配模式的開始處;

要特别注意通配符的位置,否則很有可能返回的結果與預期不一緻。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved