Shiliew 植树人

Mysql复习与学习(一)

2017-08-25

  最近从零开始学习数据库,基本的东西都知道,就是写起来没那么溜。知识掌握不牢固,就花点时间练一练吧。

建表

  在这里创建两个表,一个国家表,记录国家名称和地理位置,另外一个地理位置表,用以枚举地理位置。


建表语法:

CREATE  [TEMPORARY]  TABLE  [IF NOT EXISTS] [database_name.] <table_name>
(
  <column_name>  <data_type>  [[not] null],
)

CREATE TABLE country(
id SMALLINT UNSIGNED PRIMARY KEY auto_increment,
name VARCHAR(50) NOT NULL DEFAULT 'country_name',
location TINYINT NOT NULL DEFAULT 0);

CREATE TABLE location(
id SMALLINT UNSIGNED PRIMARY KEY auto_increment,
name VARCHAR(10) NOT NULL DEFAULT '');

  简单的建表语句就如上所示,unsinged表示无符号,primary key表示主键,auto_increment表示自增长,not null表示不为空,default后面接默认值。

增删改查

  几个小例子,就为记住其基本语法。

-- 插入语法
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]

    [INTO] tbl_name [(col_name,...)]

    VALUES ({expr | DEFAULT},...),(...),...

    [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

-- INSERT
INSERT INTO country VALUES(null, 'China', 0) ,(null, 'England', 0);
INSERT country(name) VALUES('Amarica'),('Russia');

-- 单表删除语法
    DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name  
    [WHERE where_definition]  
    [ORDER BY ...]  
    [LIMIT row_count] 

-- 多表删除语法
    DELETE [LOW_PRIORITY] [QUICK] [IGNORE]  
    tbl_name[.*] [, tbl_name[.*] ...]  
    FROM table_references  
    [WHERE where_definition] 
    -- 或者:
    DELETE [LOW_PRIORITY] [QUICK] [IGNORE]  
    FROM tbl_name[.*] [, tbl_name[.*] ...]  
    USING table_references  
    [WHERE where_definition] 
-- DELETE
DELETE FROM country WHERE name = 'Amarica' or id = 3;


-- 单表更改语法
    UPDATE [LOW_PRIORITY] [IGNORE] tbl_name  
    SET col_name1=expr1 [, col_name2=expr2 ...]  
    [WHERE where_definition]  
    [ORDER BY ...]  
    [LIMIT row_count] 

-- 多表更改语法
    UPDATE [LOW_PRIORITY] [IGNORE] table_references  
    SET col_name1=expr1 [, col_name2=expr2 ...]  
    [WHERE where_definition] 
-- UPDATE
UPDATE country SET name = 'Africa', location = 1 where name = 'Russia';

-- SELECT
SELECT c.name AS 国家, l.name AS 地理位置 FROM country c, location l WHERE c.location = l.id;

  select的完整语法太长,就不列在上面了,可以去查看查考。

参考

MySQL 创建数据表

【MySQL】 创建表CREATE TABLE语法

MySQL使用DDL语句创建表

MySQL语法大全_自己整理的学习笔记

对MySQL DELETE语法的详细解析

MySQL update 语句的正确用法

MySql中SELECT常用语法结构解析


上一篇 Spring参考资料

Comments

comments powered by HyperComments