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;