初识Mysql之基本简单语法总结

一、  DDL(data definition language)语句:数据定义语言。

这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。常用语句关键字:create、drop、alter等。

  1. 创建数据库:CREATE DATABASE dbname     (eg:     mysql>create database test1;      查看系统中所有的数据库:mysql>show databases;     )
  2. 选择数据库:USE dbname                                (eg:     mysql>use test1;          查看test1里所有的数据表:mysql>show tables;      )
  3. 删除数据库:drop database dbname;         (eg:     mysql>drop database test1;
  4. 创建表:CREATE TABLE tablename(column_name_1 column_type_1 constraints,

column_name_1 column_type_1 constraints,

...);                                                         查看表的定义:desc tablename

      5.有时需要查看创建表的SQL语句,

上图中除了可以看到staff表定义以外,还可以看到表的engine(存储引擎)和charset(字符集)等信息。“\G”选项含义是使记录能够按照字段竖向排列,以便更好地显示内容较长的记录。

6.删除表:DROP TABLE tablename                                           (eg:     mysql>drop test;)

7.修改表:

(1)修改表类型,ALTER TABLE tablename MODIFY[COLUMN] column_definition [FIRST|AFTER col_name]

eg:修改表emp的ename字段定义,将varchar(10)改为varcahr(20)

(2)增加表字段,ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST|AFTER col_name]

eg:在表emp中新增字段age,类型为int(3)

(3)删除表字段,ALTER TABLE tablename DROP [COLUMN] col_name

eg:将字段age删除

(4)字段改名,ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_definition [FIRST|AFTER col_name]

eg:将age改名为age1,同时修改类型为int(4)

(5)修改字段排列顺序,字段增加和修改(ADD|CHANGE|MODIFY)语法中,可选项first|after column_name,可以修改字段在表中的位置。(ADD默认加在最后,CHANGE/MODIFY默认不改变位置)

eg:新增字段birth date(birth的类型)加在ename之后

eg:修改字段age,放在最前

8.更改表名:ALTER TABLE tablename RENAME [TO] new_tablename

eg:将表enp改名为emp1

二、DML(data manipulation language)语句:数据操纵语句。

用于添加、删除、更新和查询数据库记录,并检查数据完整性。常用语句关键字:insert、delete、update和select等。

1.插入记录:INSERT INTO tablename(filed1,filed2,...,filedn) VALUES(values1,values2,...,valuesn);

eg:

也可以不用指定字段名称,但是values后面的顺序应该和字段的排列顺序一致

插入多条记录:INSERT INTO tablename(filed1,filed2,...,filedn)

VALUES

(values1,values2,...,valuesn),

(values1,values2,...,valuesn),

(values1,values2,...,valuesn);

2.更新记录:UPDATE tablename SET filed1=value1,filed2=value2,...,filedn=valuen [WHERE CONDITION]

eg:将表emp中ename为‘lisa‘的薪水(sal)更改为4000:

(多表更新一般用在根据一个表的字段来动态地更新另一个表的字段)

3.删除记录:DELETE FROM tablename [WHERE CONDITION]

eg:在emp中将ename为‘dony‘的记录全部删除

在mysql中可以一次删除多个表的数据:DELETE t1,t2,...,tn FROM t1,t2,...,tn [WHERE CONDITION]    (不管单表还是多表,不加where条件将会把表的所有记录删除)

4.查询记录:SELECT * FROM tablename [WHERE CONDITION]

查询不重复记录关键字distinct

          

排序和限制,关键字:ORDER BY   语法:SELECT * FROM tablename [WHERE CONDITION] [ORDER BY filed1 [DESC/ASC],filed2 [DESC/ASC],...,filedn [DESC/ASC]]

不写排序顺序关键字默认是 升序排列 ASC。

◆ 排序后的记录,LIMIT限制显示部分:SELECT ...[LIMIT offset_start,row_count]               其中,offset_start表示记录的起始偏移量,row_count表示显示的行数(limit和order by配合使用做记录的分屏显示)

聚合

                     SELECT [filed1,filed2,...,filedn] fun_name

                 FROM tablename

                 [WHERE where_contition]

                 [GROUP BY filed1,filed2,...,filedn [WITH ROLLUP]]

                 [HAVING where_contition]

                 参数说明:fun_name:表示要做的聚合操作(聚合函数),sum(求和)、count(*)(记录数)、max、min.....

GROUP BY:表示要进行分类聚合的字段,比如要按照部门分类统计员工数量,部门就应该写在group by 后面。

WITH ROLLUP:可选语句,表示是否对分类聚合后的结果进行再汇总。

HAVING关键字表示对分类后的结果在进行条件的过虐。

表连接:左连接,右连接。(复杂,详情后续)

子查询:关键字 in、not in、=、!=、exists、not exists 等  (放后)

记录联合:将两个表的数据按照一定的查询条件查询出来以后,将结果合并到一起显示出来。关键字, union、union all

SELECT * FROM t1

                           UNION/UNION ALL

                           SELECT * FROM t2

                           ...

                           UNION/UNION ALL

                           SELECT * FROM tn;

UNION ALL 是把结果集直接合并在一起,UNION 是将UNION ALL 后的结果进行一次DISTINCT,去除重复记录后的结果。

三、DCL(data control language)语句:数据控制语句。

用于控制不同数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要语句关键字:grant、revoke等。

主要是DBA用来管理系统中的对象权限时使用,一般开发人员很少使用。

原文地址:https://www.cnblogs.com/mumenyu/p/9567268.html

时间: 2024-10-14 15:07:56

初识Mysql之基本简单语法总结的相关文章

MySQL优化之——简单语法

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46559271 1.默认约束 --mysql CREATE TABLE emp ( id INT DEFAULT 12 ) 2.设置自增列 MYSQL的自增列一定要是有索引的列,设置种子值要在表的后面设置 --mysql -- 设置自增ID从N开始 CREATE TABLE emp ( ID INT PRIMARY KEY AUTO_INCREMENT ) AUTO_INCREME

MYSQL(一) 简单语法

MYSQL(一) 简单语法 1.默认约束:mysql里面DEFAULT关键字后面是不用加括号的 --1.1 创建数据库 mysql> create database holly; Query OK, 1 row affected (0.00 sec) --1.2 使用数据库 mysql> use holly; Database changed --1.3 创建数据库表 mysql> create table student -> ( ->    id int default

我的MYSQL学习心得(一) 简单语法

语法的差异 我这里主要说语法的不同 1.默认约束 区别:mysql里面DEFAULT关键字后面是不用加括号的 --sqlserver CREATE TABLE emp ( id INT DEFAULT(12) ) --mysql CREATE TABLE emp ( id INT DEFAULT 12 ) insert into emp(id) values(default);Query OK, 1 row affected (0.05 sec) mysql> select * from emp

进击的Python【第十二章】:mysql介绍与简单操作,sqlachemy介绍与简单应用

进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢.所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量.所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来

Mysql Insert Or Update语法例子

Mysql Insert Or Update语法例子 有的时候会需要写一段insert的sql,如果主键存在,则update:如果主键不存在,则insert.Mysql中提供了这样的用法:ON DUPLICATE KEY UPDATE.下面就看看它是如何使用的吧! 首先数据库的原始数据如下: a b c 1 b1 c1 2 b2 c2 3 b3 c3 此时如果执行下面的sql就会报错 INSERT INTO test VALUES(1,'b4','c4'); 报错信息如下,提示无法重复插入: 1

‘Mysql帮助’ 的简单使用

下面通过一个小例子,看一下Mysql帮助的简单使用. 如下图所示,grade表中有三列数据,现在我需要在表中增加"id"列.在我对mysql增加列的语汇不了解的情况下,尝试通过它的帮助解决问题. 下面就是登录Mysql后出现的界面,提示我们可以通过输入 "help" 或 "\h"获取帮助信息. 输入 "\h"后,提示我们输入 "help contents" 获取服务端的帮助信息. 输入"help

mysql数据库很简单操作

进入linux系统 root   >/usr/bin/mysql -u root mysql>show databases;                    #查看数据库 mysql>use  testtable;                        #testtable 为所要查看的库,应用数据库 mysql>show tables;                          #查看所有表 mysql>desc abc_table          

MySQL与Oracle的语法区别详细对比 (转)

Oracle和mysql的一些简单命令对比 1) SQL> select to_char(sysdate,'yyyy-mm-dd') from dual; SQL> select to_char(sysdate,'hh24-mi-ss') from dual; mysql> select date_format(now(),'%Y-%m-%d'); mysql> select time_format(now(),'%H-%i-%S'); 日期函数 增加一个月: SQL> se

PHP简单语法

PHP简单语法 声明变量 $var_name="1"; $var_num=1; $var_bool=true; var_dump"函数可以将我们的变量的数据类型显示出来. 变量名的命名规则主要有三条: 变量名必须以字母或下划线 "_"开头,如"$_name","$name" ,"$name2"等 变量名只能由字母.数字.以及"_"组成,还能包含汉字 3.变量名不允许包含空格 特