sql基础教程和mysql必知必会(mysql语句大全实例教程)

本文将介绍MySQL的一些基本概念,及常用基础SQL命令,最后奉上一个可以动手练习的小例子。

我们通常所说的数据库是指数据库软件,例如MySQL、Oralce、SQL Server等,而本文提到的数据库(databases)是指数据库软件中的一个个用于存储数据的容器。

sql基础教程和mysql必知必会(mysql语句大全实例教程)

在正式开始写SQL代码前,需要说明两点:

  1. SQL语句不区分大小写。
  2. 每条SQL语句以分号;结尾(英文输入法下的分号)。

在Workbench中,执行一条SQL语句的方式有两种:一种是通过上方快捷菜单中的按钮,另一种是快捷键Ctrl+Enter。

sql基础教程和mysql必知必会(mysql语句大全实例教程)

一、数据库常用命令

1、查看有哪些数据库

show databases;

2、创建数据库

create database <dbname>;

3、创建数据库,并指定编码格式

create database <dbname> character set <编码格式>;

4、使用某个数据库

use <dbname>;

5、删除数据库

drop database <dbname>;

二、数据表常用命令

1、查看有哪些数据库表

show tables;

2、查询表city中的数据

select * from city;

3、通过limit子句限制查询前100条记录

select * from city limit 100;

4、建表,语句格式如下

create table <tablename>(
    <字段名称> <数据类型>,
    <字段名称> <数据类型>,
    <字段名称> <数据类型>,
    ......
);

说明:每个字段以逗号分隔,最后一个字段不加逗号。

5、查看表结构:describe

describe <tablename>;

6、修改数据表:alter

alter table <tablename> add <column> varchar(20);
alter table <tablename> add <column> varchar(20) after <column>;
# 删除字段major
alter table <tablename> drop <column>;

7、重命名表

alter table <tablename> rename <new_tablename> ;

8、删除数据表:drop

drop table <tablename>;

9、插入一条记录:insert into

insert into <tablename>(字段1,字段2,......) values(字段1的值,字段2的值,......);

10、插入多条记录:一条insert语句,后面跟多个values

insert into <tablename>(字段1,字段2,......) values
  (字段1的值,字段2的值,......),
  (字段1的值,字段2的值,......),
  (字段1的值,字段2的值,......);

11、删除记录:delete

delete from <tablename> where 字段名=某个值;

12、修改记录:update

update <tablename> set 字段1=某个值 where 字段2=某个值;

13、条件查询:select+where

select * from <tablename> where 字段名=某个值;

 

三、MySQL基本数据类型

MySQL中的表格是模拟真实世界中的数据表,就像下面这个表格。

sql基础教程和mysql必知必会(mysql语句大全实例教程)

其中,字段Name都是一些人名,是字符型,字段Birthdate为出生日期,是日期时间型,而Age表示年龄,当然是数值型。

MySQL中的基本数据类型分为这三种:字符型、数值型和日期时间型。

1、字符型

字符型,即字符串,需要使用引号括起来,一般使用单引号。

字符型又分为以下三种类型。

  • char(255):定长字符串,最大长度为255个字符。
  • varchar(255):可变长度的字符串,按需分配,有利于节省空间。
  • text:最大长度为64K的变长文本,例如文章可以以text类型存储。

2、数值型

数值型分为整型和浮点型,整型,即整数,用int表示,浮点型,即小数。

浮点型,按照表示的范围又分为以下三种。

  • float:单精度浮点值。
  • double:双精度浮点值。
  • decimal:精度可变的浮点值。

3、日期时间型

日期时间型分为日期、时间及日期时间型三种。

  • date:日期,包括年、月、日,常用格式为yyyy-mm-dd。
  • time:时间,包括时、分、秒。
  • datetime:日期时间型,包括年、月、日、时、分、秒。

 

四、小例子:动手练习

下面举一个小例子,跟着一起练习一下吧。

打开MySQL Workbench,确保已经连接到MySQL。

首先,查看MySQL中有哪些数据库。

show databases;

sql基础教程和mysql必知必会(mysql语句大全实例教程)

接着,创建一个属于自己的数据库,并指定编码格式,目的是为了防止中文乱码。

create database mydb character set utf8mb4;

进入刚才创建的这个数据库mydb。

use mydb;

此时的数据库mydb是一个空的数据库,不信的话,可以查看有哪些表。

show tables;

运行后,发现什么也没有。

根据下面这个学生信息表创建一个数据表,即建表。

sql基础教程和mysql必知必会(mysql语句大全实例教程)

分析上面这个表格,弄清楚有哪些字段,以及对应的数据类型,建表语句如下。

create table stuInfo(
    stuId int unsigned primary key,
    stuName varchar(10) not null,
    gender varchar(5),
    birthDate date,
    age int(3),
    city varchar(20)
);

因为学号是唯一的,所以将学号设置为主键,primary key,主键就相当于每条记录的身份证号,唯一确定每一条记录。

运行后,数据库mydb中就会有一个数据表stuinfo。

通过describe可以查看表的结构。

describe stuinfo;

sql基础教程和mysql必知必会(mysql语句大全实例教程)

如果想给表增加一个字段,可以使用alter子句。例如,想增加一个字段major,即学生的专业,可以这样写:

alter table stuinfo add major varchar(20);

运行后,表stuinfo的最后会增加一个字段major,此时的表结构如下。

sql基础教程和mysql必知必会(mysql语句大全实例教程)

如果想在指定的位置增加一个字段,可以这样写:

alter table stuinfo add major varchar(20) after age;

上语句表示在字段age之后增加一个字段major,此时的表结构如下。

sql基础教程和mysql必知必会(mysql语句大全实例教程)

如果想删除某个字段,这样写就行。

alter table stuinfo drop major;

运行后,字段major被删除。

此时的数据表stuinfo还没有数据,通过insert into语句插入一条记录。

insert into stuinfo(stuid,stuname,gender,birthdate,age,city)
values(20161001,'Sunbin','男','1990/1/1',28,'Beijing');

说明:字符串、日期都需要加引号,而数值不需要。

如果想一次性插入多条记录,这样写:

insert into stuinfo(stuid,stuname,gender,birthdate,age,city)
values(20161002,'Wangwu','女','1991/1/3',19,'Beijing'),
(20161003,'Lisi','男','1990/11/4',21,'Shanghai');

运行后,查询看看。

select * from stuinfo;

sql基础教程和mysql必知必会(mysql语句大全实例教程)

如果想查询某些符合条件的记录,只需用where子句即可。

例如,查询性别为男的记录。

select * from stuinfo where gender='男';

sql基础教程和mysql必知必会(mysql语句大全实例教程)

想修改某条记录,用update子句,即更新。

例如,想将stuid为20161001的记录的stuname改成Jack,可以这样写:

update stuinfo set stuname='Jack' where stuid=20161001;

此时,查询一下记录,会看到结果。

select * from stuinfo;

sql基础教程和mysql必知必会(mysql语句大全实例教程)

最后,说一下删除,想删除某些符合条件的记录,通过delete子句进行。

例如,想删除stuid为20161002的记录,可以这样写:

delete from stuinfo where stuid=20161002;

行后,做一下查询,会看到stuid为20161002的这一条记录已经没有了。

sql基础教程和mysql必知必会(mysql语句大全实例教程)

以上就是MySQL中的一些基本概念,及基础SQL命令,最后用一个小例子演示了如何使用这些基础SQL命令。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论