数据库是保存表和其他相关SQL结构的容器。
一、创建和使用数据库
CREATE DATABASE list; # 创建数据库list USE list; # 使用数据库list
二、创建表
CREATE TABLE my_contacts # 创建表联系人 ( name VARCHAR(30) NOT NULL, gender CHAR(1) NOT NULL DEFAULT 'M', #'M'或'F' birthday DATE, # 1980-09-15 phone VARCHAR(11) NOT NULL, information BLOB );
显示表的结构: DESC my_contacts;
删除表: DROP TABLE my_contacts;
MySQL支持的数据类型有:文本、数字和日期/时间类型。
Text类型 |
描述 |
CHAR(size) |
固定长度的字符串(字母、数字、特殊字符)。最多 255 个字符。 |
VARCHAR(size) |
可变长度的字符串。括号内为最大长度。如果大于255,转为 TEXT 类型。 |
TINYTEXT |
存放最大长度为 255 个字符的字符串。 |
TEXT |
存放最大长度为 65,535 个字符的字符串。 |
BLOB |
用于 BLOBs (Binary Large OBjects)。存放最多 65,535 字节的数据。 |
MEDIUMTEXT |
存放最大长度为 16,777,215 个字符的字符串。 |
MEDIUMBLOB |
用于 BLOBs (Binary Large OBjects)。存放最多 16,777,215 字节的数据。 |
LONGTEXT |
存放最大长度为 4,294,967,295 个字符的字符串。 |
LONGBLOB |
用于 BLOBs (Binary Large OBjects)。存放最多 4,294,967,295 字节的数据。 |
ENUM(x,y,z,etc.) |
允许你输入可能值的列表。不存在插入的值,则插入空值。最多 65535 个值。 |
SET |
与 ENUM 类似,SET 最多只能包含 64 个列表项,不过 SET 可存储一个以上的值。 |
<!--EndFragment-->
Number类型 |
描述 |
TINYINT(size) |
-128 到127常规。0到255 无符号*。在括号中规定最大位数。 |
SMALLINT(size) |
-32768到32767 常规。0 到65535无符号*。在括号中规定最大位数。 |
MEDIUMINT(size) |
-8388608到8388607普通。0to16777215无符号*。在括号中规定最大位数。 |
INT(size) |
-2147483648到2147483647常规。0到4294967295无符号*。 |
BIGINT(size) |
-9223372036854775808到9223372036854775807常规。 0到18446744073709551615无符号*。在括号中规定最大位数。 |
FLOAT(size,d) |
带有浮动小数点的小数字。size是最大位数。d是小数的最大位数。 |
DOUBLE(size,d) |
带有浮动小数点的大数字。size是最大位数。d是小数的最大位数。 |
DECIMAL(size,d) |
作为字符串存储的 DOUBLE 类型,允许固定的小数点。 |
<!--EndFragment-->
* 这些整数类型拥有额外的选项 UNSIGNED。如果添加UNSIGNED属性,那么范围将从 0 开始。
<!--EndFragment-->
Date类型 |
描述 |
DATE() |
日期。格式:YYYY-MM-DD。从 '1000-01-01' 到 '9999-12-31' |
DATETIME() |
*日期时间。格式:YYYY-MM-DD HH:MM:SS。 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59' |
TIMESTAMP() |
*时间戳。TIMESTAMP 值使用 Unix 纪元('1970-01-01 00:00:00' UTC) 至今的描述来存储。格式:YYYY-MM-DD HH:MM:SS。从 '1970-01-01 00:00:01' UTC 到 '2038-01-09 03:14:07' UTC |
TIME() |
时间。格式:HH:MM:SS 。从 '-838:59:59' 到 '838:59:59' |
YEAR() |
2 位或 4 位格式的年。4 位从1901 到 2155。2 位从70 到 69,表示1970 到 2069。 |
<!--EndFragment-->
* 即便 DATETIME 和 TIMESTAMP 返回相同的格式,它们的工作方式很不同。在 INSERT 或 UPDATE 查询中,TIMESTAMP 自动把自身设置为当前的日期和时间。TIMESTAMP 也接受不同的格式,比如 YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD 或 YYMMDD。
三、INSERT语句
INSERT INTO my_contacts # 省略列名,数据全部填入 VALUES ('ZhangSan','F','1990-09-09','13513513513','My Best Friend!'); INSERT INTO my_contacts # 省略部分列名 (name,gender,phone) VALUES ('LiSi','F','15815815815'); INSERT INTO my_contacts # 可以改变列的顺序 (name,gender,phone,birthday,information) VALUES ('WangEr','M','18218218218','1991-05-05','A Lovely Person!');
四、SELECT语句
SELECT * FROM my_contacts SELECT * FROM my_contacts WHERE name = 'ZhangSan'; #一般除数字外,其他的值都要用引号 SELECT * FROM my_contacts WHERE name>'hello'; #按字典顺序做大小比较 SELECT * FROM my_contacts WHERE year=20; SELECT drink_name,price,rating FROM drink WHERE price<3; #运算符号有>,<,<>,=,>=,<= SELECT drink_name FROM drink WHERE price<3 AND rating>8.0; SELECT drink_name FROM drink WHERE price<3 OR rating>8.0; SELECT * FROM my_contacts WHERE name<'M' AND name>='D'; #查询首字母在D和M之间的name SELECT drink_name FROM drink WHERE rating IS NULL; #选择rating是空的值 SELECT * FROM my_contacts WHERE name LIKE '%San'; SELECT * FROM my_contacts WHERE name = '_San'; #只有一个匹配 SELECT drink_name FROM drink WHERE price BETWEEN 2 AND 4; SELECT drink_name FROM drink WHERE interest IN('good','pretty goog','wonderful'); SELECT drink_name FROM drink WHERE NOT price BETWEEN 2 AND 4; #NOT可与BETWEEN、LIKE、NULL一起用,一般在WHERE后面 SELECT * FROM my_contacts WHERE NOT name LIKE '%San' AND NOT name LIKE '%Jan';
五、DELETE
DELETE可以用于删除一行或者多行,根据Where子句而定,这里的Where子句跟SELECT中的Where子句用法完全一样。如上面出现的LIKE、IN、BETWEEN,这里都可以用。
DELETE FROM my_contacts; DELETE FROM my_contacts WHERE name='ZhangSan'; DELETE FROM my_contacts WHERE name='ZhangSan'AND year=20;
六、UPDATE
UPDATE my_contacts SET gender= 'F'; WHERE name = 'ZhangSan'; UPDATE my_contacts SET gender= 'F',years=20; WHERE gender= 'M' AND years=21; UPDATE my_contacts #这里可以套用基本运算,如+、-、*、/ SET years=years+1; WHERE gender= 'F';
七、单引号的处理
SELECT * FROM my_contacts WHERE name='Grover\'s Mill'; SELECT * FROM my_contacts WHERE name='Grover''s Mill';
相关推荐
### SQL核心功能详解:Insert,Select,Update和Delete 在当今数据驱动的世界中,SQL(Structured Query Language)作为处理和管理关系型数据库的标准语言,其重要性不言而喻。熟练掌握SQL对于任何数据库用户来说都...
select update delete insert自动生成工具 sql oracle 等数据库自动生成sql语句。
oracle_11gR2_07 数据操作(select,insert,update,delete) 和 常用函数(count,max,min,avg,sum,decode,distinct)
这篇实验报告主要涉及了数据库管理系统的数据操作,包括DML(Data Manipulation Language)的三大基本操作:UPDATE、DELETE和INSERT。这些操作是数据库管理中不可或缺的部分,用于更新、删除和添加数据记录。 1. ...
下面将详细讲解标题和描述中提到的基础SQL语句:SELECT、INSERT和UPDATE。 1. **SELECT语句**:这是SQL中最常用的语句,用于从数据库中检索数据。其基本语法是: ```sql SELECT column1, column2, ... FROM ...
一、select用法示例 SELECT ST.STUDENT_ID, ST.STUDENT_NAME, ST.STUDENT_SEX, ST.STUDENT_BIRTHDAY, ST.CLASS_ID FROM STUDENT_TBL ST WHERE ST.STUDENT_ID = #{studentID} 这条语句就叫做‘getStudent...
首先在数据库中创建存储过程和方法,然后调用创建好的存储过程,生成带有与表名及字段相关的insert,update,delete语句,变量与表字段名相同,例如: "insert into temp (col1,col2,col3) values ('"+col1+"','"+col2...
在这个主题中,我们专注于SQL的四大基础操作语句:INSERT、SELECT、UPDATE和DELETE,它们构成了数据库操作的核心。 1. INSERT语句: INSERT语句用于向数据库表中插入新的数据行。在例子中,`INSERT INTO EMPLOYEES...
误点Uninject language or reference导致xml错误警告都不显示(恢复)
- `EXCEPT`:返回在第一个查询中存在但在第二个查询中不存在的行,去重。 - `EXCEPT ALL`:与`EXCEPT`类似,但不消除重复行。 - `INTERSECT`:返回在两个查询中都存在的行,去重。 6. **聚合函数**: - `COUNT...
MySQL 数据库中的 `INSERT`、`UPDATE`、`DELETE` 和 `REPLACE` 语句是数据操作语言(DML)的关键组成部分,用于在数据库中创建、修改和删除数据。以下是对这些语句的详细解释: 1. **INSERT 语句**: - 基本用法:...
在数据库管理中,UPDATE、INSERT 和 DELETE 是三个非常重要的 SQL 语句,它们分别用于修改、添加和删除数据。在本实验中,我们将通过实际操作来深入理解这三个语句的用法。 首先,我们来看 `UPDATE` 语句。这个语句...
总之,INSERT、UPDATE 和 DELETE 操作是数据库操作的基础,而 NULL 和 VIEW 提供了更高级的功能。理解和熟练掌握这些概念是进行有效数据库管理和开发的关键。在实际应用中,应谨慎处理数据,确保数据的准确性和一致...
在SQL Server 2005中,`OUTPUT`子句是一个强大的特性,它允许你在执行`INSERT`, `UPDATE`, 或 `DELETE`语句时捕获受影响的数据行。这个功能非常实用,因为它允许开发者实时跟踪数据库中的变化,而无需额外的查询来...
shell连接oracle数据库工具脚本:支持select/insert/update/delete 部署位置:/root/sysmonitor db:数据库文件夹 dbconfig.properties:数据库配置文件, dbConnectTest.sh:连接测试文件 dbExecurteSQL.sh:...
### SQL核心语句详解:Insert、Delete与Update #### 一、Insert 插入操作 在SQL语言中,`INSERT`语句是最基本的操作之一,主要用于向数据库表中添加新的记录。这一操作对于构建和维护数据库至关重要。 ##### 基本...
经典之作,我是根据已有的程序...该实例中我编写了一个类ClsSetAccess,主要包括两个函数:1.执行数据不返回任何值mdbExecuteNonQuery 2.执行数据返回单个值mdbExecuteNonQuery。如果你需要可以下载,里面注释得很清楚
按照MYSQL语法准备实现一个简单可执行的编译器。 主要工作流程 词法分析 create show drop use insert select update delete 语法分析 create show drop use insert select update delete 语法...