linux操作mysql的语法_搞定linux上MySQL编程(二):MySQL语法基础操作

sql(structured query language)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

sql语言包含3部分:

1. 数据定义语言(DDL),用于定义和管理对象,例如数据库、数据表以及试图等。例如create、drop、alter等语句。

2. 数据操作语言(DML),用于操作数据库中数据,例如select、 insert、update、delete等。

3. 数据控制语言(DCL),用于管理数据库,包含管理权限及数据更改。例如grant、revoke、commit、rollback等。

类似高级开发语言,sql中数据也有不同的类型,不同的数据类型存放不同的数据,sql中数据类型分为5种:字符型(存放一段较短的字符串)、文本型(存储大串的字符)、数值型(存放整数、实数、浮点数)、逻辑型(即布尔型,取值0或1)、日期型。sql语句中也可以添加注释,有如下三种:“#”(类似shell脚本的注释)、“--”、和类似c语言的/*....*/可多行注释。

数据库的操作:

1.创建数据库:create database 。例如:

create database db_users;

mysql> create database db_users;

Query OK, 1 row affected (0.00 sec)

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| db_users |

| mysql |

| test |

+--------------------+

5 rows in set (0.00 sec)2.删除数据库:drop database 。例如:mysql> drop database db_users;

Query OK, 0 rows affected (0.00 sec)

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| test |

+--------------------+

3 rows in set (0.00 sec)

mysql>表的操作:表是数据库重要组成部分,数据库通常由一个或多个数据表组成。数据库中所有数据或信息都被保存在这些数据表中。每一个表名称在数据库中是唯一的,表由行和列组成,每一列列包括该列名称、数据类型和其他属性,而行则具体包含某一列的记录或数据。1.创建表: create table ( [][, [] ]...[, ])实际使用中一般只用到比较简单的表创建语言,只需要表面和字段定义。例如:mysql> use db_users;

Database changed

mysql> create table regusers (

-> userid int auto_increment not null primary key,

-> username char(32),

-> birth date);

Query OK, 0 rows affected (0.01 sec)

mysql> describe regusers;

+----------+----------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+----------+----------+------+-----+---------+----------------+

| userid | int(11) | NO | PRI | NULL | auto_increment |

| username | char(32) | YES | | NULL | |

| birth | date | YES | | NULL | |

+----------+----------+------+-----+---------+----------------+

3 rows in set (0.00 sec)2.修改表,当发现表结构不满足要求时,使用alter table语句修改列属性,甚至可以修改表名称。修改语法如下:alter table [ADD [完整性约束] ][DROP ][ALTER COLUMN ];例如原来regusers表中没有“最后登录时间”属性,可以通过修改表解决该问题。如下:mysql> alter table regusers add last_login date;

Query OK, 0 rows affected (0.01 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> describe regusers;

+------------+----------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+------------+----------+------+-----+---------+----------------+

| userid | int(11) | NO | PRI | NULL | auto_increment |

| username | char(32) | YES | | NULL | |

| birth | date | YES | | NULL | |

| last_login | date | YES | | NULL | |

+------------+----------+------+-----+---------+----------------+

4 rows in set (0.00 sec)

mysql>3. 删除表,drop table ,...;可以指定多个表,同时删除。记录的操作:数据库中记录就是实际的数据信息,数据的存储也是通过数据记录来体现的。sql的功能主要体现在对这些记录的操作上。存储记录的前提是必须有数据库和数据表,有了表之后就可以进行插入、删除、更新操作了。1.插入记录,使用insert语句向指定数据表中插入新的数据行。语法格式如下:insert into [(,...)] values ( [,] ...); 例如:mysql> insert into regusers (userid, username, birth, last_login) values (10000, 'allen', '1981-1-1', '2014-2-2');

Query OK, 1 row affected (0.00 sec)

mysql> insert into regusers (username, birth, last_login) values ('brooks', '1982-4-2', '2014-4-30');

Query OK, 1 row affected (0.00 sec)

mysql> insert into regusers (username, birth, last_login) values ('curry', '1985-8-12', '2014-1-17');

Query OK, 1 row affected (0.00 sec)

mysql> select * from regusers;

+--------+----------+------------+------------+

| userid | username | birth | last_login |

+--------+----------+------------+------------+

| 10000 | allen | 1981-01-01 | 2014-02-02 |

| 10001 | brooks | 1982-04-02 | 2014-04-30 |

| 10002 | curry | 1985-08-12 | 2014-01-17 |

+--------+----------+------------+------------+

3 rows in set (0.00 sec)

mysql>4. 更新记录,使用update语句更新或修改满足规定条件的记录。update语句格式为:update set = [,=]... [where ];例如将regusers表中姓名为brooks的记录的记录修改为ben,如下:mysql> update regusers set username='ben' where username='brooks';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from regusers;

+--------+----------+------------+------------+

| userid | username | birth | last_login |

+--------+----------+------------+------------+

| 10000 | allen | 1981-01-01 | 2014-02-02 |

| 10001 | ben | 1982-04-02 | 2014-04-30 |

| 10002 | curry | 1985-08-12 | 2014-01-17 |

+--------+----------+------------+------------+

3 rows in set (0.01 sec)

mysql>5. 删除记录。使用delete语句删除数据表中满足指定条件的记录。delete语句的语法为:delete from [where ]; 例如删除表中userid为10002的的记录如下:mysql> delete from regusers where userid=10002;

Query OK, 1 row affected (0.02 sec)

mysql> select * from regusers;

+--------+----------+------------+------------+

| userid | username | birth | last_login |

+--------+----------+------------+------------+

| 10000 | allen | 1981-01-01 | 2014-02-02 |

| 10001 | ben | 1982-04-02 | 2014-04-30 |

+--------+----------+------------+------------+

2 rows in set (0.00 sec)

mysql>数据库查询操作:sql使用select语句实现数据库的查询。查询是数据库使用最为频繁的操作。select可以查询表中指定满足条件的若干列,同时可对查询结果按一定顺序排序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你的第一个问题是关于 node.js 和 MySQL 插入语句的语法错误提示,是吗? 首先,你需要确保你的 MySQL 语句的语法是正确的。MySQL 插入语句的基本语法如下: ``` INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); ``` 其中,`table_name` 是你要插入数据的表的名称,`column1, column2, column3` 是你要插入的列的名称,`value1, value2, value3` 是你要插入的值。 在 node.js 中,你可以使用 `mysql` 模块来连接和操作 MySQL 数据库。下面是一个示例代码,演示如何使用 `mysql` 模块来插入数据到 MySQL 数据库中: ```javascript const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'mydatabase' }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); const sql = "INSERT INTO customers (name, address) VALUES ('John Doe', 'Highway 71')"; connection.query(sql, (err, result) => { if (err) throw err; console.log('1 record inserted'); connection.end(); }); }); ``` 在上面的代码中,我们创建了一个 `mysql` 连接对象 `connection`,并在连接成功后,使用 `connection.query()` 方法来执行 MySQL 插入语句。 如果你使用类似上面的代码来执行 MySQL 插入语句,但是仍然遇到语法错误提示,那么你需要检查你的 MySQL 语句是否正确。你可以尝试在 MySQL 命令行中执行你的 MySQL 语句,以确保它没有语法错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值