欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL命令学习(一)_MySQL

程序员文章站 2022-05-21 09:04:05
...
今天我们来学习一下MySQL中的常用命令(MySQL中的命令关键字是不区分大小写的):

(1)show databases; 显示MySQL中的所有database

(2)create database dbname; 在MySQL中创建database dbname

比如我们创建一个名为student_db的数据库:create database student_db;

(3)use dbname; 使用database dbname

比如我们准备使用student_db这个数据库:use student_db;

(4)drop database if exists dbname; 不带任何提示的删除database dbname

比如我们删除student_db这个数据库:drop database if exists student_db;

(5)show tables; 显示database中所有的table

(6)describe tablename; 显示表tablename的结构

比如我们想知道student_db下面的表student_info的结构:describe student_info;

(7)create table if not exists dbname.tablename(filed1,filed2,……); 创建表tablename

比如我们想在student_db下面创建student_info表:

create table if not exists student_info(
stu_id Char(20) not null primary key,
stu_name VarChar(8) not null,
stu_sex char(2) not null,
stu_birthday date not null,
stu_class varchar(50) not null,
stu_major Char(8) not null,
stu_credit Tinyint default 0,
stu_remark Text null);

在这里插入一点数据类型的介绍

*************************************************************************************************************************

*************************************************************************************************************************

MySQL数据类型

(1)Text类型

CHAR(size) 保存固定长度的字符串(可包含字母、数字及特殊字符),在括号中指定字符串的长度,最多255个字符

VARCHAR(size)保存可变长度的字符串(可包含字母、数字及特殊字符),在括号中指定字符串的最大长度,最多255个字符

TINYTEXT 存放最大长度为255个字符的字符串

TEXT 存放最大长度为65535个字符的字符串

BLOB 用于BLOBS(Binary Large Objects), 最多存放65535个字节的数据

...

(2)Number类型

TINYINT(size)-128到127,无符号0到255,在括号中规定最大数

SMALLINT(size)-32768到32767,无符号0到65535,在括号中规定最大数

MEDIUMINT(size)-8388608到8388607,无符号0到16777215,在括号中规定最大数

INT(size)-2147483648到2147483647,无符号0到4294967295,在括号中规定最大数

FLOAT(size,d)带有浮动小数点的小数字,在括号中规定最大位数,在d参数中规定小数点右侧的最大位数

DOUBLE(size,d)带有浮动小数点的大数字,在括号中规定最大位数,在d参数中规定小数点右侧的最大位数

DECIMAL(size,d)作为字符串存储的double类型,在括号中规定最大位数,在d参数中规定小数点右侧的最大位

...

(3)DATE 类型

DATE 日期格式:YYYY-MM-DD支持的范围是从‘1000-01-01’到‘9999-12-31’

TIME 时间格式:HH:MM:SS支持的范围从‘-838:59:59’到‘838:59:59’

...

*****************************************************************************************************************************

*****************************************************************************************************************************

(8)insert into tablename values(value1,value2,......) ; 向表tablename中插入一行数据

比如向student_info表里面连续插入六条数据:

insert into student_info
values('1001101620004','刘继桧','男','1984-11-25','100110162','软件工程',100,'');

insert into student_info
values('1001101620005','张三','男','1982-12-25','100110162','软件工程',100,'');

insert into student_info
values('1001101620006','李四','男','1982-1-25','100110162','软件工程',100,'');

insert into student_info
values('1001101620007','王五','男','1983-8-25','100110162','软件工程',100,'');

insert into student_info
values('1001101620008','赵六','男','1986-9-25','100110162','软件工程',100,'');

insert into student_info
values('1001101630009','王娟','女','1986-9-18','100110163','电子信息',100,'');

(9)select field1 from tablename; 在表tablename中检索单个列field1

比如我在student_info中检索单个列stu_name:select stu_name from student_info;

select * from tablename; 在表中检索所有的列

比如我想检索student_info表中所有的记录:select * from student_info;

(10)distinct 指示MySQL返回不同的值

比如我想检索student_info中所属专业不同的值的记录:select distinct stu_major from student_info;

那么就当前数据情况而言,会返回给我两条数据‘软件工程’和‘电子信息’

(11)limit 限制MySQL返回的数据的行数不大于n

比如我想检索student_info表中前三行的数据记录:select * from student_info limit 3;

如果我们想让返回结果从行2开始起,可以这样写:select * from student_info limit 2,3;

(12)order by 取一个或多个列的名字,据此对输出进行排序

ASC 表示升序排列,默认情况就采用这种排列

DESC 表示降序排列

比如我想检索结果按生日值从大到小降序排列可以这样写:select * from student_info order by stu_birthday DESC;