MySQL随便聊----之SQL的简单了解

本文介绍了SQL的基本概念,包括SQL在各数据库中的通用语法,如大小写敏感性、命名规则和避免关键字冲突。详细讲解了DDL、DML、DQL和DCL的不同作用,以及MySQL的创建数据库、查看表结构、常用命令和SQL语法的实例。
摘要由CSDN通过智能技术生成

一、含义

结构化查询语言,针对所有关系型数据库进行操作的语法


每一种数据库操作语法都存在不同的地方,操作相同的其实就是SQL语法,不同语法称之为该数据库操作软件的"方言"

 二、通用语法

(1)mysql的sql语法不区分大小写

        A:数据库的表中的数据是否区分大小写。这个的话要看表格的字段的数据类型、编码方式以及校对规则。

        ci(大小写不敏感),cs(大小写敏感),_bin(二元,即比较是基于字符编码的值而与language无关,区分大小写)

        B:sql中的关键字,比如:create,insert等,不区分大小写。但是大家习惯上把关键字都“大写”。

(2)命名时:尽量使用26个英文字母大小写,数字0-9,下划线,不要使用其他符号

(3)建议不要使用mysql的关键字等来作为表名、字段名、数据库名等,如果不小心使用,请在SQL语句中使用`(飘号)引起来

(4)数据库和表名、字段名等对象名中间不要包含空格

create database my atguigu;

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'atguigu' at line 1

(5)同一个mysql软件中,数据库不能同名,同一个库中,表不能重名,同一个表中,字段不能重名

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

mysql> create database atguigudb;
ERROR 1007 (HY000): Can't create database 'atguigudb'; database exists
mysql> show tables;
+---------------------+
| Tables_in_atguigudb |
+---------------------+
| student             |
| temp                |
+---------------------+
2 rows in set (0.00 sec)

mysql> create table temp(id int);
ERROR 1050 (42S01): Table 'temp' already exists
mysql> create table tt(
    ->  id int,
    ->  id int
    -> );
ERROR 1060 (42S21): Duplicate(重复) column name 'id'

三、 SQL语法的分类

DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)
关键字:create、drop,alter等

DML: 数据操作语言,用来对数据库表中的数据进行增删改
关键字:insert、delete、update

DQL: 数据查询语言,用来查询数据库中表的记录(数据)
关键字:select where等

DCL: 数据控制语言,用来创建数据库用户、控制数据库的控制权限
关键字:GRANT,REVOKE等

事务控制语言(TCL-Transactional Control Language)

代表关键字:commit ,rollback;

 四、表结构描述

 五、常用命令

1)查看MySQL版本

  • MySQL程序选项具有以下两种通用形式:
    • 长选项,由单词之前加两个减号组成
    • 短选项,由单个字母之前加一个减号组成

 C:\Users\Administrator>mysql --version

mysql  Ver 14.14 Distrib 5.5.36, for Win32 (x86)

C:\Users\Administrator>mysql -V

mysql  Ver 14.14 Distrib 5.5.36, for Win32 (x86)

 2)创建数据库

  1. create database 数据库名称;

create database  bjpowernode;

  1. use 数据库名称

use bjpowernode;

3)查询当前使用的数据库

select  database();

查询数据库版本也可以使用

select  version();

4)终止一条语句

如果想要终止一条正在编写的语句,可键入\c。

5)退出MySQL

可使用\q、QUIT或EXIT:

如:

mysql> \q (ctrl+c)

6)如何加注释

8)MySQL脚本中的标点符号

mysql脚本中标点符号的要求如下:

  • 本身成对的标点符号必须成对,例如:(),'',""。

  • 所有标点符号必须英文状态下半角输入方式下输入。

几个特殊的标点符号:

  • 小括号():在创建表、添加数据、函数使用、子查询、计算表达式等等会用()表示某个部分是一个整体结构。

  • 单引号'':字符串和日期类型的数据值使用单引号''引起来,数值类型的不需要加标点符号。

  • 双引号"":列的别名可以使用双引号"",给表名取别名==不要使用==双引号。

create table tt(
    id int
    ;
    
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2
create table temp(
	c char
);
insert into temp values('尚) ; #缺一半单引号
                        
insert into temp values(‘尚’) ;  #标点符号是中文
mysql> select * from student;
+------+------+
| id   | name |
+------+------+
|    1 | 张三 |
|    2 | 李四 |
+------+------+
2 rows in set (0.00 sec)

mysql> select id "学号",name "姓名" from student;
+------+------+
| 学号 | 姓名 |
+------+------+
|    1 | 张三 |
|    2 | 李四 |
+------+------+
2 rows in set (0.00 sec)

 9)查看设置变量(以及全局变量)

-- 1.1、查看全局变量(503)
show GLOBAL VARIABLES
-- 1.2、查看所有变量(517)
SHOW VARIABLES

-- 2.1、查看单个变量(两种方式,结果不同)
show GLOBAL VARIABLES like 'autocommit'; -- 结果:autocommit OFF
SELECT @@autocommit;  -- 结果:1

-- 3.1、设置全局变量(两种方式,即其他会话连接都会修改该变量值,但是设置时其他原本就连接session的不会生效。本session要重新连接才会生效)
set @@GLOBAL.autocommit = 1
set GLOBAL autocommit = 0
-- 3.2、设置变量(只对本次session会话有效)
set autocommit = 1

六、查看“演示数据”的表结构

1)查看和指定现有的数据库

2)指定当前缺省数据库

3)查看当前使用的库

4)查看当前库中的表

5)查看其它库中的表

 6)查看表结构

desc <table name>;

如:

7)查看表的创建语句

show create table <table name>;

如:

 下面就开始MySQL的正式介绍

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值