MySQL-sql语法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

MySQL是一个管理数据库的一个软件,sql是操作这个软件的语言。在web应用中,使用最多的是MySQL,它有开源、免费、功能足够强大,足以应付web应用开发的优点。


一、MySQL安装和启动

1.MySQL

数据库:存储数据的仓库,数据是有组织的进行
存储
数据库管理系统:操纵和管理数据库的大型软件
SQL :操作关系型数据库的编程语言,定义了一 套操作关系型数据库统一标准

(1)关系型数据库
概念 建立在关系模型基础上,由多张相互连接的
二维表组成的数据库
1.使用表存储数据,格式统一,便于维护
2.使用SQL 语言操作,标准统一,使用方便
(2)数据模型
客户端连接数据库管理系统,数据库管理系统中有
多个数据库,数据库中都有多张表

2.安装和启动

资源包

然后执行下面命令:
1initialization :初始化MYSQL服务 
2install :安装MySQL服务 (将 MySQL 安装为 
Windows 服务) 
3startup :启动MYSQL服务 
2.配置环境变量
系统->高级系统设置->环境变量->下方的Path->编辑->新建

配置好后,就可以以管理员的身份在命令提示符中执行一些简单的命令

二、SQL通用语法

 1.单行或者多行书写,以分号结束

2.可以使用空格或者缩进来增强语句的可读性

3.mysql数据库中,SQL语句不区分大小写,关键字建议使用大写 

 分类
DDL 数据定义语言,用来定义数据库对象(数
据库,表,字段)
DML 数据操作语言,用来对数据表中的数据进
行增删改
  DQL 数据查询语言,用来查询数据库中表的记
  DCL 数据控制语言,用来创建数据库用户,控
制数据库的访问权限


 DDL语句

      数据库

  查看数据库 

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| xml                |
+--------------------+
5 rows in set (0.00 sec)

创建新数据库 

mysql> create database mxl;
Query OK, 1 row affected (0.04 sec)

选择数据库

mysql> use mxl;
Database changed

 删除数据库

mysql> drop database xml;
Query OK, 0 rows affected (0.05 sec)

 DDL表管理

查看表

mysql> use mysql;
Database changed
mysql> show tables;
+------------------------------------------------------+
| Tables_in_mysql                                      |
+------------------------------------------------------+
| columns_priv                                         |
| component                                            |
| db                                                   |
| default_roles                                        |
| engine_cost                                          |
| func                                                 |
| general_log                                          |
| global_grants                                        |
| gtid_executed                                        |
| help_category                                        |
| help_keyword                                         |
| help_relation                                        |
| help_topic                                           |
| innodb_index_stats                                   |
| innodb_table_stats                                   |
| password_history                                     |
| plugin                                               |
| procs_priv                                           |
| proxies_priv                                         |
| replication_asynchronous_connection_failover         |
| replication_asynchronous_connection_failover_managed |
| replication_group_configuration_version              |
| replication_group_member_actions                     |
| role_edges                                           |
| server_cost                                          |
| servers                                              |
| slave_master_info                                    |
| slave_relay_log_info                                 |
| slave_worker_info                                    |
| slow_log                                             |
| tables_priv                                          |
| time_zone                                            |
| time_zone_leap_second                                |
| time_zone_name                                       |
| time_zone_transition                                 |
| time_zone_transition_type                            |
| user                                                 |
| zy                                                   |
+------------------------------------------------------+
38 rows in set (0.00 sec)

创建表

mysql> create table why(
    -> id int comment '序号',
    -> name varchar(20) comment '姓名');
Query OK, 0 rows affected (0.50 sec)

查看表结构

describe 表名;
desc 表名;
show create table 表名;

删除表

drop table 表名;

用户管理


查看当前登录的用户

mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

创建新用户

mysql> grant select on mysql.why to whm@'10.0.3.150';//ip
Query OK, 0 rows affected (0.06 sec)
mysql> grant all on mysql.why to zzz@localhost;
Query OK, 0 rows affected (0.04 sec)//本地

修改密码

mysql> alter user whm@'10.0.3.150' identified by '123456' password expire never;
Query OK, 0 rows affected (0.52 sec)//新创建用户只有登录权限,需要使用管理员账户授权

查询用户信息

mysql> select user,host from mysql.user;
+------------------+------------+
| user             | host       |
+------------------+------------+
| whm              | 10.0.3.150 |
| mxl              | localhost  |
| mysql.infoschema | localhost  |
| mysql.session    | localhost  |
| mysql.sys        | localhost  |
| root             | localhost  |
| tmm              | localhost  |
| zzz              | localhost  |
+------------------+------------+
8 rows in set (0.00 sec)

 新用户登录

mysql -u 用户名 [-h ip地址] -p
# 新创建的用户只有登录权限,需要使用管理员账
户授权

 为用户授权

show grants for 用户名@localhost; #
查询用户的权限
2
3 数据库名 . 表名 *.* 数据
库名.*
4 grant all on kfm.carts to
txsy@localhost;
5 # all 代表所有权限
6
7 # 授权的新用户需要重新登录才能使用新权限
8
9 # 任意ip可以访问
10 GRANT ALL PRIVILEGES ON *.* TO '用户
名'@'%';
11 update mysql.user set host='%' where
user='txsy;
12
13
14 flush privileges;
all :所有权限
select :查询权限
insert :插入权限
update :更新权限

 删除用户

drop user 用户名@'localhost';

总结

需要多次练习sql语句熟练掌握。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值