您的位置:首页 > 数据库

SQL基本结构化查询语句

2016-06-07 21:44 344 查看

SQL基本结构化查询语句

以前学过一段时间的SQL Server,两年没用过几乎连基本的增删改查都写不来了,全还给体育老师了。

最近准备把关系型数据库的内容重新捡起来,想等掌握这块之后再找个NoSQL的数据库学一下非关系型的。

本博文主要介绍MySQL中基本的结构化查询语句。虽然都是关系型的数据库但是MySQL和SQLServer包括Oracle以及其它同类型数据库还是有差别的,具体可以参考知乎上关于这个问题的回答。

 

====================================================================================================================================

MySQL可储存的数据类型

MySQL中可存储的数据类型
字符型
CHAR
适用于文本型数据且长度要和事先设定的长度相等
VARCHAR
适用于文本型数据,最大存储长度可达255个字符,比CHAR要灵活,可根据实际数据调整(只要不超过设置的字符长度即可)
BLOB
适用于大量文本类型数据
DATE
记录日期类型的数据(不包括事件)
DATETIME
记录日期和时间类型的数据
数值
INT
适用于整型数值
DEC
适用于带小数点的数据
创建数据库/数据表

MySQL中穿件数据库/数据表都是用CREATE关键字:

CREATE DATABASE your_database;


创建完数据库之后需要申明使用该数据库,可通过USE关键字实现:

USE your_database;


随后即可以在该数据库中创建相关的数据表:

CREATE TABLE your_table(
field_1 type_1,
field_2 type_2,
field_3 type_3
);


创建数据表时除了可以对字段进行类型的定义外还可以设定主键(PRIMARY KEY),设定自增(AUTO_INCREMENT)属性,设定非NULL(not null)等属性。

查看数据表信息

MySQL可用DESC查看数据表的信息:

DESC my_contacts;


FieldTypeNullKeyDefaultExtra
idint(11)NOPRINULLauto_increment
last_namevarchar(20)NO NULL 
first_namevarchar(30)NO NULL 
emailvarchar(50)NO NULL 
birthdaydateNO NULL 
genderchar(1)NO NULL 
professionvarchar(50)NO NULL 
locationvarchar(50)NO NULL 
statusvarchar(20)NO NULL 
interestsvarchar(100)NO NULL 
seekingvarchar(100)NO NULL 
删除数据库/表/列

MySQL中删除数据库/表/列都可以用DROP关键字:

DROP DATABASE your_database;
DROP TABLE your_table;


删除列需要结合ALERT,见后文。

SELECT

SELECT语句是最常用的结构化查询语句之一:

SELECT * FROM your_table; #将数据表中所有字段下的数据都筛选出来
SELECT field1,field2,… FROM your_table; #将特定字段下的数据筛选出来
SELECT field1,field2,… FROM your table WHERE condition1,… #结合WHERE关键字筛选出符合条件的数据
# SELECT还可以与SUM,AVG,CASE,RIGHT,LEFT,SUBSTRING,GROUP BY, ORDER BY…等函数和关键字组合搭配使用



DELETE

DELETE语句用与删除记录(行):

DELETE FROM your_table WHERE condition1,…; #删除符合条件的记录(行)


INSERT

INSERT关键字可以用来往现有数据表中添加新的纪录:

INSERT INTO your_table (field1, field2, …) VALUES (content1, content2, …); #往表中添加对应于字段1,字段2,…的记录
INSERT INTO your_table  VALUES (content1, content2, …); #往表中添加对应所有字段的记录,添加的content的数目要等于全部字段数
INSERT INTO your_table (field1, field2) VALUES (content1, content2); #往表中添加相应字段的记录
#当要输入的记录中包含撇号(’)时,需要使用“\”转义符号,如
INSERT INTO contacts (first_name, last_name, greeting) VALUES (“Jenchih”, “Ho”,“Hello, I\’m Jenchih.”); #“I\’m”即为I’m


UPDATE

对于现有的数据表如果需要更新内容则可以使用UPDATE关键字:

UPDATE your_table SET field = value ; #更新字段的值
#可以结合WHERE,OR,AND,RIGHT,LEFT,SUBSTRING等关键字和逻辑运算符可以对表进行有条件的更新


ALERT

ALERT关键字可用于调整现有数据表的结构:

ALERT TABLE your_table RENAME TO new_my_contacts; #更改表的名字
ALERT TABLE your_table ADD COLUMN newfield1 type and_other_attributes; #在现有数据表中添加新的字段(列),可以结合FIRST、SECOND等关键字限定所添加列的位置
ALERT TABLE your_table CHANGE COLUMN field1 new_field1 type and_other_attributes; #更改现有字段名字并且重新设定其相关属性
ALERT TABLE your_table MODIFY COLUMN field1 type and_other_attributes; #更改现有字段的属性
ALERT TABLE your_table DROP COLUMN field1; #删除现有字段


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql