初识mysql语句

mysql5.7的安装,参考centos7安装mysql-5.7.22

使用root账号登陆

方式一: 使用账户root,密码root登陆,注意-p后面不能有空格

mysql -u root -proot 

方式二:

mysql -u root -p

输入密码

查看当前登录的账号

mysql> select user();

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

| user()         |

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

| root@localhost |

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

1 row in set (0.00 sec)

更改root密码

mysql> update mysql.user set authentication_string =password('root') where User='root';

Query OK, 0 rows affected, 1 warning (0.00 sec)

Rows matched: 2  Changed: 0  Warnings: 1

刷新权限,执行命令

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

查看mysql字符编码

mysql> show variables like 'character%';

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

| Variable_name            | Value                            |

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

| character_set_client     | utf8                             |

| character_set_connection | utf8                             |

| character_set_database   | utf8                             |

| character_set_filesystem | binary                           |

| character_set_results    | utf8                             |

| character_set_server     | utf8                             |

| character_set_system     | utf8                             |

| character_sets_dir       | /usr/local/mysql/share/charsets/ |

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

8 rows in set (0.01 sec)

mysql-数据库的操作

增: 创建名为db1且字符编码为utf8的数据库

mysql> create database db1 charset utf8;

Query OK, 1 row affected (0.00 sec)

查: 查看mysql的所有数据库

mysql> show databases;

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

| Database           |

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

| information_schema |

| db1                |

| mysql              |

| performance_schema |

| scrapyDB           |

| sys                |

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

6 rows in set (0.00 sec)

mysql> show create database db1;

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

| Database | Create Database                                             |

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

| db1      | CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 */|

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

1 row in set (0.00 sec)

改: 更改db1数据库的字符编码

mysql> alter database db1 charset gbk;

Query OK, 1 row affected (0.00 sec)

在查看db1的字符串编码,已经改成gbk,mysql5.7默认字符编码为utf8

mysql> show create database db1;

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

| Database | Create Database                                             |

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

| db1      | CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET gbk */ |

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

1 row in set (0.00 sec)

删: 删除db1数据库

mysql> drop database db1;

Query OK, 0 rows affected (0.00 sec)

在查看mysql的所有数据库,db1已经被删除了

mysql> show databases;

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| scrapyDB           |

| sys                |

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

5 rows in set (0.00 sec)

mysql-表的操作

use: 切换数据库

mysql> use db1;

Database changed

查看当前所在数据库

mysql> select database();

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

| database() |

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

| db1        |

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

1 row in set (0.00 sec)

增: 在db1数据库中创建一个t1表,添加两个字段id指定数据类型为int(整型),name指定数据类型为char(字符串)

mysql> create table t1(id int,name char);

Query OK, 0 rows affected (0.13 sec)

查:

查看当前的t1表

mysql> show create table t1;

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

| Table | Create Table                                                                                                        |

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

| t1    | CREATE TABLE `t1` (

  `id` int(11) DEFAULT NULL,

  `name` char(1) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

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

1 row in set (0.00 sec)

查看所有的表

mysql> show tables;

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

| Tables_in_db1 |

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

| t1            |

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

1 row in set (0.00 sec)

查看表的详细信息

mysql> desc t1;

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

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

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

| id    | int(11) | YES  |     | NULL    |       |

| name  | char(1) | YES  |     | NULL    |       |

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

2 rows in set (0.00 sec)

改: 

修改t1表的name字段长度为20,modify修改的意思

mysql> alter table t1 modify name char(20);

Query OK, 0 rows affected (0.42 sec)

Records: 0  Duplicates: 0  Warnings: 0

修改t1表的name字段为NAME,并修改字段长度为10

mysql> alter table t1 change name NAME char(10);

Query OK, 0 rows affected (0.18 sec)

Records: 0  Duplicates: 0  Warnings: 0

查看t1表的详细信息,已经修改成功

mysql> desc t1;

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

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

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

| id    | int(11)  | YES  |     | NULL    |       |

| NAME  | char(10) | YES  |     | NULL    |       |

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

2 rows in set (0.00 sec)

删:

删除t1表

mysql> drop table t1;

Query OK, 0 rows affected (0.01 sec)

查看db1数据库的所有表,t1表已经被删除

mysql> show tables;

Empty set (0.00 sec)

mysql-表字段(内容,记录)操作

先创建一个t1表,字段id,name(20)

mysql> create table t1(id int,name char(20));

Query OK, 0 rows affected (0.04 sec)

增: 插入多条数据,指定id,name的数据内容

mysql> insert t1(id,name) values(1,'zhangsan'),(2,'lisi'),(3,'wangwu');

Query OK, 3 rows affected (0.00 sec)

Records: 3  Duplicates: 0  Warnings: 0

查:

从db1数据库中的t1表,查id字段

mysql> select id from db1.t1;

+------+

| id   |

+------+

|    1 |

|    2 |

|    3 |

+------+

3 rows in set (0.00 sec)

从db1数据库中的t1表,查id,name字段

mysql> select id,name from db1.t1;

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

| id   | name     |

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

|    1 | zhangsan |

|    2 | lisi     |

|    3 | wangwu   |

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

3 rows in set (0.00 sec)

从db1数据库中的t1表,查询所有信息,*代表所有

mysql> select * from db1.t1;

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

| id   | name     |

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

|    1 | zhangsan |

|    2 | lisi     |

|    3 | wangwu   |

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

3 rows in set (0.00 sec)

改:

更改db1数据库中的t1表id=2的name为'haha'

mysql> update db1.t1 set name='haha' where id=2;

Query OK, 1 row affected (0.01 sec)

Rows matched: 1  Changed: 1  Warnings: 0

查看t1表中的所有信息,id=2的name已经改成'haha'

mysql> select * from t1;

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

| id   | name     |

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

|    1 | zhangsan |

|    2 | haha     |

|    3 | wangwu   |

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

3 rows in set (0.00 sec)

更改db1数据库中的t1表的name为'如花',注意这是更改所有的name值为'如花'(一般不用)

mysql> update db1.t1 set name='如花';

Query OK, 3 rows affected (0.00 sec)

Rows matched: 3  Changed: 3  Warnings: 0

查看t1表的所有信息,3条记录都更改了

mysql> select * from t1;

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

| id   | name   |

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

|    1 | 如花   |

|    2 | 如花   |

|    3 | 如花   |

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

3 rows in set (0.00 sec)

删:

方法1:删除t1表中id=2的这条记录

mysql> delete from t1 where id in(2);

Query OK, 1 row affected (0.01 sec)

方法2:删除t1表中id=3的这条记录

mysql> delete from t1 where id=3;

Query OK, 1 row affected (0.00 sec)

查看t1的所有信息,已经删除了id=2,3两条记录

mysql> select * from t1;

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

| id   | name   |

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

|    1 | 如花   |

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

1 row in set (0.00 sec)

清空t1表的所有记录

mysql> delete from t1;

Query OK, 1 row affected (0.00 sec)

查看t1表中的所有信息,已经全部被清空了

mysql> select * from t1;

Empty set (0.00 sec)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏乐沙弥的世界

批量生成MySQL不重复手机号大表

版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处。

1392
来自专栏Dato

浅谈 DML、DDL、DCL的区别

一、DML DML(data manipulation language)数据操纵语言:     就是我们最经常用到的 SELECT、UPDATE、INSERT...

3767
来自专栏别先生

mysql的内连接,外连接(左外连接,右外连接)巩固

1:mysql的内连接: 内连接(inner join):显示左表以及右表符合连接条件的记录; 1 select a.goods_id,a.goods_name...

2207
来自专栏运维技术迷

MySQL数据库(五):索引

一.什么是索引 相当于一本数的目录 二.使用索引的好处和坏处 好处:加快查找速度 坏处:占用磁盘空间 三.查看索引命令 命令格式: show inde...

2909
来自专栏lgp20151222

Mysql 如何设置字段自动获取当前时间,附带添加字段和修改字段的例子

ALTER TABLE `table_name` ADD COLUMN  `CreateTime` datetime NULL DEFAULT CURRENT...

1601
来自专栏JavaQ

MySQL timestamp类型列值自动更新

MySQL中使用timestamp定义字段,默认情况下会给字段添加自动更新的属性,本文将分析这个自动更新的设置。 问题概述 一个表中定义了两个timestam...

4347
来自专栏史上最简单的Spring Cloud教程

Openresty最佳案例 | 第8篇:RBAC介绍、sql和redis模块工具类

RBAC介绍 RBAC(Role-Based Access Control,基于角色的访问控制),用户基于角色的访问权限控制。简单地说,一个用户拥有若干角色,每...

3358
来自专栏乐沙弥的世界

一次mysql 5.5升级到5.6导致的ERROR 1805

前阵子将mysql数据库由5.5.14升级到5.6.36,升级后所有的业务数据都正常。运行了几天后,发现在主库上添加用户失败,错误提示为:ERROR 1805 ...

1072
来自专栏一个会写诗的程序员的博客

SQL中的DML、DDL以及DCL是什么?

DML(data manipulation language)是数据操纵语言:它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这...

914
来自专栏mwangblog

开始使用MySQL

1792

扫码关注云+社区

领取腾讯云代金券