搜索
首页数据库mysql教程mysql数据库学习笔记之常用操作命令_MySQL

bitsCN.com


mysql数据库学习笔记之常用操作命令

 

1、创建数据库    

mysql> create database user;

Query OK, 1 row affected (0.00 sec)

2、使用此数据库

mysql> use user;

Database changed

3、在此数据库上创建表

mysql> create table person(

    -> id int unsigned not null auto_increment primary key,

    -> name varchar(30)

    -> );                  

Query OK, 0 rows affected (0.00 sec)

4、查看此person表的表结构    

mysql> desc person;

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

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

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

| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |

| name  | varchar(30)      | YES  |     | NULL    |                |

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

2 rows in set (0.00 sec)

5、创建person_bak,并是此表的表结构与person一样,即复制person的表结构

mysql> create table person_bak like person;

Query OK, 0 rows affected (0.01 sec)

 

6、向person表中插入数据

mysql> insert into person (name) values ("user1");

Query OK, 1 row affected (0.00 sec)

7、将person表中的数据复制到person_bak表中

mysql> insert into person_bak select * from person;

Query OK, 10 rows affected (0.01 sec)

Records: 10  Duplicates: 0  Warnings: 0

 

8、向person表中创建name列的索引

方法一:

mysql> create index in_name on person (name);

Query OK, 10 rows affected (0.00 sec)

Records: 10  Duplicates: 0  Warnings: 0

方法二:

mysql> alter table person add index in_name (name);

Query OK, 10 rows affected (0.01 sec)

Records: 10  Duplicates: 0  Warnings: 0

9、查看索引    

mysql> show index from person;

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

| Table  | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |

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

| person |          0 | PRIMARY  |            1 | id          | A         |          10 |     NULL | NULL   |      | BTREE      |         |

| person |          1 | in_name  |            1 | name        | A         |        NULL |     NULL | NULL   | YES  | BTREE      |         |

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

2 rows in set (0.01 sec)

 

10、在person表中创建唯一索引

mysql> alter table person add unique index un_name (name);

Query OK, 10 rows affected (0.01 sec)

Records: 10  Duplicates: 0  Warnings: 0

11、修改列的属性

mysql> alter table person modify name varchar(20);

Query OK, 10 rows affected (0.01 sec)

Records: 10  Duplicates: 0  Warnings: 0

12、统计表中的数据数据

mysql> select count(*) from person;

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

| count(*) |

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

|       10 |

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

1 row in set (0.00 sec)

13、创建一个视图

mysql> create view v_person as select * from person;

Query OK, 0 rows affected (0.01 sec)

14、查看视图(和查看表的命令一样)

当删除表中的某条记录时,相应的此表对应的视图中的满足条件的记录也将会被删除掉

mysql> show tables;

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

| Tables_in_user |

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

| person         |

| person_bak     |

| v_person       |

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

3 rows in set (0.00 sec)

15、删除视图

mysql> drop view v_person;

Query OK, 0 rows affected (0.00 sec)

16、字符串连接函数---concat("string1","string2") 别名

mysql> select concat("li","haichao") myname;

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

| myname    |

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

| lihaichao |

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

1 row in set (0.00 sec)

17、大写转换成小写的函数---lcase(string1)

mysql> select lcase("LHC");

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

| lcase("LHC") |

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

| lhc          |

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

1 row in set (0.00 sec)

18、将字符串转换成大写的函数----ucase(string1);

mysql> select ucase("lhc");

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

| ucase("lhc") |

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

| LHC          |

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

1 row in set (0.00 sec)

19、判断字符串长度的函数length(string1);

mysql> select length("lhc");

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

| length("lhc") |

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

|             3 |

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

1 row in set (0.02 sec)

20、去除前端和后端的空格函数 ltrim()和rtrim()

21、将指定的字符串重复n次,repeat(string ,count)

mysql> select repeat("linux",3);

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

| repeat("linux",3) |

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

| linuxlinuxlinux   |

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

1 row in set (0.02 sec)

22、字符串替换函数

在"linux is very good"中寻找linux,并将其替换成php

mysql> select replace("linux is very good","linux","php");

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

| replace("linux is very good","linux","php") |

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

| php is very good                            |

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

1 row in set (0.01 sec)

23、字符串截取函数substring("str",int 1,int 2)

在str字符串中从int1开始(从1计)到int2结束(包含),取其字段

mysql> select substring("linux is very good",1,5);

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

| substring("linux is very good",1,5) |

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

| linux                               |

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

1 row in set (0.00 sec)

24、space()函数:生成空格的函数,通常与concat函数一起使用

 

mysql> select concat(space(50),"linux");

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

| concat(space(50),"linux")                               |

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

|                                                   linux |

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

1 row in set (0.02 sec)

25、十进制转二进制函数BIN()

mysql> select BIN(255);

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

| BIN(255) |

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

| 11111111 |

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

1 row in set (0.00 sec)

26、向上取整函数CEILING(),比如5.6则为6,向下取整floor(),比如5.6则为5

mysql> select ceiling(5.6);

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

| ceiling(5.6) |

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

|            6 |

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

1 row in set (0.01 sec)

************************************************************************

mysql> select floor(5.6);

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

| floor(5.6) |

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

|          5 |

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

1 row in set (0.00 sec)

27、取最大值和最小值

select sutdent_name,MIN(test_score),MAX(test_score) from student group by student_name;

28、返回随机数:RAND()

mysql> select ceiling( 10*RAND());

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

| ceiling( 10*RAND()) |

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

|                   4 |

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

1 row in set (0.00 sec)

 

bitsCN.com
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
MySQL如何处理数据复制?MySQL如何处理数据复制?Apr 28, 2025 am 12:25 AM

MySQL通过异步、半同步和组复制三种模式处理数据复制。1)异步复制性能高但可能丢失数据。2)半同步复制提高数据安全性但增加延迟。3)组复制支持多主复制和故障转移,适用于高可用性需求。

您如何使用解释性语句分析查询性能?您如何使用解释性语句分析查询性能?Apr 28, 2025 am 12:24 AM

EXPLAIN语句可用于分析和提升SQL查询性能。1.执行EXPLAIN语句查看查询计划。2.分析输出结果,关注访问类型、索引使用情况和JOIN顺序。3.根据分析结果,创建或调整索引,优化JOIN操作,避免全表扫描,以提升查询效率。

您如何备份并还原MySQL数据库?您如何备份并还原MySQL数据库?Apr 28, 2025 am 12:23 AM

使用mysqldump进行逻辑备份和MySQLEnterpriseBackup进行热备份是备份MySQL数据库的有效方法。1.使用mysqldump备份数据库:mysqldump-uroot-pmydatabase>mydatabase_backup.sql。2.使用MySQLEnterpriseBackup进行热备份:mysqlbackup--user=root--password=password--backup-dir=/path/to/backupbackup。恢复时,使用相应的命

MySQL中慢速查询的常见原因是什么?MySQL中慢速查询的常见原因是什么?Apr 28, 2025 am 12:18 AM

MySQL慢查询的主要原因包括索引缺失或不当使用、查询复杂度、数据量过大和硬件资源不足。优化建议包括:1.创建合适的索引;2.优化查询语句;3.使用分表分区技术;4.适当升级硬件。

MySQL中有什么看法?MySQL中有什么看法?Apr 28, 2025 am 12:04 AM

MySQL视图是基于SQL查询结果的虚拟表,不存储数据。1)视图简化复杂查询,2)增强数据安全性,3)维护数据一致性。视图是数据库中的存储查询,可像表一样使用,但数据动态生成。

MySQL和其他SQL方言之间的语法有什么区别?MySQL和其他SQL方言之间的语法有什么区别?Apr 27, 2025 am 12:26 AM

mysqldiffersfromothersqldialectsinsyntaxforlimit,自动启动,弦乐范围,子征服和表面上分析。1)MySqluessLipslimit,whilesqlserverusestopopandoraclesrontersrontsrontsrontsronnum.2)

什么是mysql分区?什么是mysql分区?Apr 27, 2025 am 12:23 AM

MySQL分区能提升性能和简化维护。1)通过按特定标准(如日期范围)将大表分成小块,2)物理上将数据分成独立文件,3)查询时MySQL可专注于相关分区,4)查询优化器可跳过不相关分区,5)选择合适的分区策略并定期维护是关键。

您如何在MySQL中授予和撤销特权?您如何在MySQL中授予和撤销特权?Apr 27, 2025 am 12:21 AM

在MySQL中,如何授予和撤销权限?1.使用GRANT语句授予权限,如GRANTALLPRIVILEGESONdatabase_name.TO'username'@'host';2.使用REVOKE语句撤销权限,如REVOKEALLPRIVILEGESONdatabase_name.FROM'username'@'host',确保及时沟通权限变更。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器