`
synchronized_lala
  • 浏览: 41113 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

基本SQL语句(MYSQL)

阅读更多

1.登入数据库

 

linux下指令:mysql -h127.0.0.1 -uroot -p

-h后面是要登入数据库的ip,
-u后面是数据库用户名
按回车后输入数据库登陆密码,则进入数据库。
2.数据库基本操作
创建数据库:

 

create database test;

 查看所有数据库:

 

show databases;

 linux下导入.sql文件

 

source /home/java/craw.sql;

“ /home/java/”为路径。

linux下通过指令导出.sql文件

mysqldump -h127.0.0.1 -uroot -p test > /home/java/craw.sql

“test”为数据库名;

“/home/java/craw.sql”为导出文件的路径及文件名。

如果希望导出数据库中的某一张表格

mysqldump -h127.0.0.1 -uroot -p test 表名称> /home/java/craw.sql

进入数据库

 

use test;

 test为数据库名

3.数据表操作

建表

 

use test;
CREATE TABLE doctor_info
(
id int(11)  PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
name varchar(20)  NOT NULL DEFAULT '' COMMENT '医生姓名',
company varchar(225)  NOT NULL DEFAULT '' COMMENT '工作单位',
url varchar(225)  NOT NULL DEFAULT '' COMMENT '论文链接',
quote int(11)  NOT NULL DEFAULT 0 COMMENT '被引用次数',
istic tinyint(1)  NOT NULL DEFAULT 0 COMMENT '是否被万方收入',
weight double   NOT NULL DEFAULT 0.0 COMMENT '权值',
INDEX idx_name_company(name,company)
) engine = innodb;

 

 linux下终端mysql显示乱码时输入

set charset utf8;

utf8为编码格式,用户根据自己数据库设置的编码自行转换;

清除表中全部内容,不破坏表结构

 

DELETE FROM doctor_info;
或
DELETE *  FROM doctor_info;
 

 从"Persons" 表中选取 50% 的记录:

 

SELECT TOP 50 PERCENT * FROM Persons
 

 

通配符  描述
% 替代一个或多个字符 
_ 仅替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist]或者[!charlist] 不在字符列中的任何单一字符

从 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:

 

SELECT * FROM Persons WHERE City LIKE '[ALN]%'

 

 

下面列出可以使用的 JOIN 类型,以及它们之间的差异。

JOIN: 如果表中有至少一个匹配,则返回行

LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行

RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行

FULL JOIN: 只要其中一个表中存在匹配,就返回行

 

SQL SELECT INTO 语法

 

把所有的列插入新表:

 

SELECT * INTO new_table_name [IN externaldatabase]  FROM old_tablename;
或者只把希望的列插入新表:
SELECT column_name(s) INTO new_table_name [IN externaldatabase]  FROM old_tablename;

 如果需要命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束,请使用下面的 SQL 语法:

 

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
);

 如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法:

 

ALTER TABLE Persons ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName);

ALTER TABLE Persons DROP INDEX uc_PersonID;

ALTER TABLE Persons ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName);

ALTER TABLE Orders ADD CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P)
REFERENCES Persons(Id_P);

 下面的 SQL 在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束。CHECK 约束规定 "Id_P" 列必须只包含大于 0 的整数。

ALTER TABLE Persons ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes');
 

MySQL 数据类型

在 MySQL 中,有三种主要的类型:文本、数字和日期/时间类型。

Text 类型:

数据类型 描述
CHAR(size) 保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多 255 个字符。
VARCHAR(size)

保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多 255 个字符。

注释:如果值的长度大于 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.)

允许你输入可能值的列表。可以在 ENUM 列表中列出最大 65535 个值。如果列表中不存在插入的值,则插入空值。

注释:这些值是按照你输入的顺序存储的。

可以按照此格式输入可能的值:ENUM('X','Y','Z')

SET 与 ENUM 类似,SET 最多只能包含 64 个列表项,不过 SET 可存储一个以上的值。


Number 类型:

数据类型 描述
TINYINT(size) -128 到 127 常规。0 到 255 无符号*。在括号中规定最大位数。
SMALLINT(size) -32768 到 32767 常规。0 到 65535 无符号*。在括号中规定最大位数。
MEDIUMINT(size) -8388608 到 8388607 普通。0 to 16777215 无符号*。在括号中规定最大位数。
INT(size) -2147483648 到 2147483647 常规。0 到 4294967295 无符号*。在括号中规定最大位数。
BIGINT(size) -9223372036854775808 到 9223372036854775807 常规。0 到 18446744073709551615 无符号*。在括号中规定最大位数。
FLOAT(size,d) 带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
DOUBLE(size,d) 带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
DECIMAL(size,d) 作为字符串存储的 DOUBLE 类型,允许固定的小数点。

* 这些整数类型拥有额外的选项 UNSIGNED。通常,整数可以是负数或正数。如果添加 UNSIGNED 属性,那么范围将从 0 开始,而不是某个负数。

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。

* 即便 DATETIME 和 TIMESTAMP 返回相同的格式,它们的工作方式很不同。在 INSERT 或 UPDATE 查询中,TIMESTAMP 自动把自身设置为当前的日期和时间。TIMESTAMP 也接受不同的格式,比如 YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD 或 YYMMDD。

 

分享到:
评论

相关推荐

    Oracle Sql语句转换成Mysql Sql语句

    本项目提供了一个Java源码工具,能够帮助用户便捷地将Oracle SQL语句转换为MySQL SQL语句。 Oracle SQL与MySQL SQL的主要差异在于以下几个方面: 1. **数据类型**:Oracle支持的数据类型如NUMBER、LONG、RAW等在...

    Python使用sql语句对mysql数据库多条件模糊查询.pdf

    在上面的代码中,我们首先构建了一个基本的 SQL 语句,然后根据条件添加过滤条件。 执行 SQL 语句 执行 SQL 语句可以使用 Python 的 MySQL 连接器模块实现。例如: ``` res = query(sql) ``` 在上面的代码中,我们...

    Effective MySQL之SQL语句最优化.pdf

    尽管如此,我将基于标题和描述中提供的关键词“Effective MySQL之SQL语句最优化”来构建知识点。 1. SQL语句最优化的概念:在数据库管理中,对SQL语句进行优化是提高数据库性能的关键环节。最优化的SQL语句能够在...

    Oracle数据库sql转换mysql数据库工具

    "Oracle数据库sql转换mysql数据库工具" 提供了解决这一问题的解决方案,允许用户将Oracle数据库中的SQL语句或数据结构转换为MySQL兼容的格式。 在数据库迁移过程中,这样的工具至关重要,因为它可以简化工作流程,...

    PB 从SQL语句获取数据存储(MySQL)

    标题 "PB 从SQL语句获取数据存储(MySQL)" 指的是使用PowerBuilder (PB) 开发工具,通过SQL语句从MySQL数据库中检索和处理数据存储的过程。在这个Demo中,PB11.5 版本被用作开发环境,而MySQL作为后台数据库系统。...

    Mysql常用SQL语句

    MySQL常用SQL语句 MySQL是一种关系型数据库管理系统,使用SQL(Structured Query Language)语言来管理和操作数据库。下面是MySQL中一些常用的SQL语句: 创建、删除和基本查询 * 显示数据库:`show databases;` *...

    MySQL常用基本SQL语句小结

    MySQL常用基本SQL语句 (基础知识)

    MYSQL常用基本sql语句总结

    本文档是有关于MySQL的最常用的sql语句,非常的方便查询和复习

    sql语句、动态SQL语句基本语法

    在数据库管理系统(如MySQL、Oracle、SQL Server等)中,SQL语句是不可或缺的一部分。 1. SQL基础语法 SQL的基础语法包括SELECT、INSERT、UPDATE、DELETE四大语句,它们分别用于查询、插入、更新和删除数据。 - ...

    Effective MySQL之SQL语句最优化(高清)

    《Effective MySQL之SQL语句最优化》提供了很多可以用于改进数据库和应用程序性能的最佳实践技巧,并对这些技巧做了详细的解释。《Effective MySQL之SQL语句最优化》希望能够通过一步步详细介绍SQL优化的方法,帮助...

    mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql in

    mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql insert语句mysql ...

    mysql-全国五级省市县镇村sql语句

    mysql-全国五级省市县镇村sql语句,直接在mysql数据库中执行sql语句即可。

    MySQL自动生成数据字典SQL语句

    自己写的两个SQL语句生成对应数据库的数据字典,一个生成表集合,一个生成字段集合 只需修改where语句后面的TABLE_SCHEMA的数据库名即可

    mysql转化成sql server sql转化成mysql工具

    2. 转换规则应用:根据SQL Server的语法特性,工具会将MySQL的SQL语句转化为相应的SQL Server语法。 3. 数据导出:将MySQL中的数据导出为SQL脚本,或者直接导入到SQL Server中。 4. 验证与调整:迁移后,需要验证...

    MySQL SQL语句练习题及答案

    MySQL SQL语句练习题及答案 本资源提供了 MySQL SQL 语句的练习题及答案,涵盖了创建表、插入数据、删除数据、更新数据、查询数据等多方面的知识点。 一、创建表 在 MySQL 中,创建表使用 CREATE TABLE 语句。...

    Mysql运行SQL语句中文乱码问题的解决方法

    ### MySQL运行SQL语句中文乱码问题的解决方法 在MySQL数据库中运行包含中文字符的SQL语句时,经常会遇到中文显示为乱码的问题。这一现象不仅降低了开发效率,还可能导致数据错误。本文将详细介绍如何彻底解决MySQL...

    介绍六个有用的MySQL的SQL语句

    MySQL SQL 语句实践指南 MySQL 是一种广泛使用的关系数据库管理系统,SQL 语句是其核心组成部分。今天,我们将介绍六个有用的 MySQL SQL 语句,帮助您更好地使用 MySQL 数据库。 1. 计算年数 计算年数是日常生活...

    sql语句插入MySQL数据库操作指南

    插入数据的基本SQL语句格式为: ```sql INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...); ``` 例如,如果我们有一个名为`employees`的表,包含`id`, `name`和`position`字段,可以这样插入一条记录:...

    java操作mysql数据库,不写sql语句版

    在Java编程中,与MySQL数据库交互通常涉及到使用SQL语句来执行CRUD(创建、读取、更新、删除)操作。然而,为了提高代码的可维护性和安全性,开发者可以选择使用ORM(对象关系映射)框架,如Hibernate或MyBatis,...

    对比两个mysql数据库显示差异并生成更新SQL语句,执行到指定数据库

    【作品名称】:对比两个mysql数据库显示差异并生成更新SQL语句,执行到指定数据库 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 ...

Global site tag (gtag.js) - Google Analytics