博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql常用命令
阅读量:4623 次
发布时间:2019-06-09

本文共 5962 字,大约阅读时间需要 19 分钟。

  SQL对大小写不敏感

       登录mysql数据库:打开命令行窗口,进入mysql/bin目录,输入:mysql -u root -p(如果是远程数据库,假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123,输入:mysql -h 110.110.110.110 -u root -p abcd123)

  修改数据库密码:mysql/bin>mysql admin -u用户名 -p旧密码 password 新密码

  显示当前数据库服务器中的数据库列表:mysql> SHOW DATABASES;

  切换数据库:mysql> use database;

  查看数据库下表名称:mysql>show tables;

  查看表中的字段名称:mysql>show columns from 表名;

  退出数据库:mysql>exit;


   创建数据库: CREATE DATABASE 数据库名;

  创建数据库表:mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));

  删除数据库:mysql> DROP DATABASE 库名;

  删除数据表:mysql> DROP TABLE 表名;

      修改表名, TO 或AS都可以,也以省略掉: ALTER TABLE 表名 RENAME [TO|AS] 新表名

  将表中记录清空:mysql> DELETE FROM 表名;(删除表中某行数据:DELETE FROM 表名称 WHERE 列名称 = 值)

  往表中插入记录:mysql> INSERT INTO 表名 VALUES (值1, 值2,....);(我们也可以指定所要插入数据的列:INSERT INTO 表名 (列1, 列2,...) VALUES (值1, 值2,....)

  更新表中数据:mysql-> UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';

  增加一列:alter table 表名 add 字段名 varchar(10) not Null;

  删除一列:alter table 表名 drop 字段名;

  修改某字段名:alter table 表名 change 原字段名 新字段名 字段类型;

  修改某字段类型:alter table 表名 modify 字段名 字段类型;


   Mysql基础语法

  1、select语句

  SELECT 列名称 FROM 表名称(select * from 表名)

  2、DISTINCT语句

  SELECT DISTINCT列名称 FROM 表名称(关键词 DISTINCT 用于返回唯一不同的值。)

  3、WHERE语句

  SELECT列名称 FROM 表名称 WHERE 列名 运算符 值(常用运算符:>、<、=、<>、>=、<=、BETWEEN、LIKE,SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。)

  4、AND /OR语句  

  AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

  如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

  5、ORDER BY语句  

  ORDER BY 语句用于根据指定的列对结果集进行排序。

  ORDER BY 语句默认按照升序对记录进行排序。如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。


  Mysql高级语法

  1、LIMIT语句

  SELECT * FROM 表名 LIMIT NUMBER;(选取前几条数据)

   2、LIKE语句 

   SELECT column_name(s)  FROM  table_name  WHERE column_name LIKE pattern;(用于在 WHERE 子句中搜索列中的指定模式。)

   3、通配符 

     在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用。

     在 SQL 中,可使用以下通配符:

 

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

   4、IN操作符 

     IN 操作符允许我们在 WHERE 子句中规定多个值:

     SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)

   5、BETWEEN操作符 

     操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

     SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;

   6、Alias:为类名和表名指定别名 

   为表名指定别名:SELECT column_name(s) FROM table_name AS alias_name

   为列名指定别名:SELECT column_name(s)  AS alias_name FROM table_name 

   7、join 

   inner join ...on:在表中存在至少一个匹配时,INNER JOIN 关键字返回行。INNER JOIN 与 JOIN 是相同的。

SELECT column_name(s)FROM table_name1INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name

   left join ...on:即使右表中没有匹配,也从左表返回所有的行;

SELECT column_name(s)FROM table_name1LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name

   right join ...on:即使左表中没有匹配,也从右表返回所有的行;

SELECT column_name(s)FROM table_name1RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name

   full join ...on:只要其中一个表中存在匹配,就返回行;(mysql不支持,可以用left join+ union+right join)

   7、Union操作符 

   用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2

  


    1、select into :可用于创建表的备份复件

   SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。

        使用 SELECT INTO FROM 备份mysql数据表的时候,运行相关 sql 语句的时候却一直返回 [Err] 1327 - Undeclared variable: …… 这种错误,原来 mysql 数据库是不支持 SELECT INTO FROM 这种语句的,但是经过研究是可以通过另外一种变通的方法解决这个问题的。进过搜索相关资料以及实验结果证实,可以使用Create table Table2 (Select * from Table1);这种语句代替SELECT vale1, value2, value3 into Table2 from Table1;

   2、constraints :约束   

   约束用于限制加入表的数据的类型。

   可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句)。

   我们将主要探讨以下几种约束:

   (1)NOT NULL:

   约束强制列不接受 NULL 值,如果不向字段添加值,就无法插入新记录或者更新记录

  • CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255))

    (2)UNIQUE:

    UNIQUE 约束唯一标识数据库表中的每条记录。UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。PRIMARY KEY 拥有自动定义的 UNIQUE 约束。

    请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。

  • 创建表时添加约束 CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255) unique (Id_p))
    当表已经被创建时,添加约束: alter table persons add unique(Id_p)

   (3)PRIMARY KEY

     PRIMARY KEY 约束唯一标识数据库表中的每条记录。主键必须包含唯一的值。主键列不能包含 NULL 值。每个表都应该有一个主键,并且每个表只能有一个主键。

  • 创建表时添加约束
    CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255),PRIMARY KEY (Id_P))
    当表已被创建时,添加约束:
    alter table persons add PRIMARY KEY(Id_p)

    (4)FOREIGN KEY

     一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。

  • 创建表时添加约束 CREATE TABLE Orders(Id_O int NOT NULL,OrderNo int NOT NULL,Id_P int,PRIMARY KEY (Id_O),FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)) 当表已被创建时添加约束 alter table orders add foreign key (id_p) reference persons(id_p) 

    (5)CHECK

    CHECK 约束用于限制列中的值的范围。 

    如果对单个列定义 CHECK 约束,那么该列只允许特定的值。 

    如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。 

创建表时添加约束CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255),CHECK (Id_P>0))添加约束时,表已被创建ALTER TABLE PersonsADD CHECK (Id_P>0)

       (6)DEFAULT:用于向列中插入默认值。如果没有规定其他的值,那么会将默认值添加到所有的新记录。 

      • 创建表时添加约束CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255) DEFAULT 'Sandnes')添加约束时表已存在ALTER TABLE PersonsALTER City SET DEFAULT 'SANDNES'

        3、create index:创建索引

      • 您可以在表中创建索引,以便更加快速高效地查询数据。

用户无法看到索引,它们只能被用来加速搜索/查询。

          注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。

CREATE INDEX index_nameON table_name (column_name) 注释:"column_name" 规定需要索引的列。

         4、Drop:删除索引、表和数据库

         ALTER TABLE table_name DROP INDEX index_name

         DROP table table_name

         DROP DATABASE 数据库名

         5、Alter Table:添加修改和删除列

如需在表中添加列,请使用下列语法:ALTER TABLE table_nameADD column_name datatype要删除表中的列,请使用下列语法:ALTER TABLE table_name DROP COLUMN column_name注释:某些数据库系统不允许这种在数据库表中删除列的方式 (DROP COLUMN column_name)。要改变表中列的数据类型,请使用下列语法:ALTER TABLE table_nameALTER COLUMN column_name datatype

  

转载于:https://www.cnblogs.com/yuhou/p/10710988.html

你可能感兴趣的文章
#openstack故障处理汇总
查看>>
搜索旋转排序数组 II
查看>>
20、docker swarm
查看>>
psp工具软件前景与范围文档
查看>>
day06-三元表达式
查看>>
C# DateTime.Now详细用法
查看>>
Php中"{}"大括号的用法总结(转)
查看>>
JavaScript内存优化
查看>>
BZOJ1059: [ZJOI2007]矩阵游戏(二分图匹配)
查看>>
P3385 【模板】负环
查看>>
URI、URL 和 URN的区别
查看>>
根据表达式序列(前缀、中缀、后缀)构建表达式树
查看>>
mysql性能优化
查看>>
【SqlServer系列】语法定义符号解析
查看>>
Color Length UVA - 1625
查看>>
TLS/SSL
查看>>
zoj2319Beautiful People Dp
查看>>
图片加载 背景色块问题
查看>>
Static Binding (Early Binding) vs Dynamic Binding (Late Binding)
查看>>
搭建git服务器
查看>>