2.mysql常用命令语句

首先,分享一个mysql数据库的常用客户端
链接: https://pan.baidu.com/s/1GstdbGtDO0keowcKZtpJYQ 提取码: smw2

SQL语句(structure query language,结构化查询语言)

SQL语句的分类
1.DDL(数据定义语言):操作对象基本上是表,用来创建、修改、删除数据库对象;eg:create、alter、drop、truncate等;
2.DML(数据操纵语句):用来对记录进行CURD的操作(增删改查);eg:insert、updata、delete、select;
3.DCL(数据控制语言):对用户进行授权和撤销权限;eg:grant、revoke;
接下来一一介绍重要的语句(数据库的基本操作)

1.创建数据库

语法: create database database_name;

create database mytest_tb;--创建一个数据库mytestdb_tb;

show create database mytest_tb;--查询刚创建的数据库mytestdb_tb,如果创建成功,将显示数据库的创建信息;

show databases;--查看当前所有存在的数据库

2.删除数据库

语法:drop database database_name;
如果指定的数据库不存在,则删除出错;

drop database mytestdb_tb;--删除数据库mytestda_tb

show create database mytestdb_tb;--再次使用查看数据库的定义,结果报错

3.创建数据表

在已经创建好的数据库中建立新表。创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性约束(包括实体完整性、引用完整性和域完整性等)的过程。
在创建数据表之前,应该使用语句:use <数据库名> 来指定操作是在哪个数据库中进行;
语法:create table <表名>(
列名 数据类型[列级约束] [默认值],
列名 数据类型[列级约束] [默认值],
列名 数据类型[列级约束] [默认值],

[表级约束]
);

use mytest_tb
create table books(
bookid int(20) primary key,
bookname vachar(20),
bookauthor carchar(20)
);
--创建成功;

show tables;
--查询是否创建表成功;


在创建表的过程中,需要对每一列有数据类型和约束条件,因此接下来先总结数据类型和约束;

mysql的数据类型

四大类:数值、字符串、日期、大对象;

1.数值类型


在这里插入图片描述
定点数(DECIMAL):
decimal(m,d):m称为精度,表示总共的位数;d称为标度,表示小数的位数。
DECIMAL实际是以串存放的,可能最大取值范围和double相同,但是其有效的取值范围是由m和d的值决定,改变m而固定d,其取值范围随着m的变大而变大。DECIMAL的存储空间不是固定的,而是由其精度值m决定,占用m+2个字节。

如上图所示,float和double在进行四舍五入时没有给出警告,而decimal数值有被截断的警告。
注意:
float和double在不指定精度时,默认会按实际的精度,decimal如不指定精度,默认为(10,0)
浮点数相对于定点数的优点是在长度一定的情况下,浮点数能够表示更大的数据范围,缺点是引起精度问题。

2.字符串类型
3.日期类型

mysql中有很多表示日期的数据类型,主要有:DATETIME,DATE,TIMESTAMP,TIME,YEAR。
在这里插入图片描述

4.大对象

约束

mysql中常见的约束有:
not null :非空;
primary key :主键约束,此约束表示某个列的值不能重复,并且不能为空,每个表中只能有一个主键约束,被设置为主键的列可以唯一的标识表中的记录;
主键分为两种类型:单字段主键和多字段联合主键
A.单字段主键:

  1. 在定义列的同时指定主键
    语法:列名 数据类型 primary key [默认值]

  2. 在定义完所有列之后指定主键:
    语法 :[constraint <约束名>] primary key [列名]

create table tb_emp2(
  id int(11) primary key --在定义列同时指定主键;
  
-------------------
);
 --最后指定主键;
create table tb_emp2(
id int(11) ,
name varchar(25),
salary float,
primary key (id)
);

B.多字段联合主键

create table tb_emp3(
name varchar(25),
deptId int(20),
salary float,
primary key(name,deptId)
);
--在最后用'primary key(name,deptId)'来作为主键

unique:唯一约束,被约束的列的取值不能重复,但可以为空;
foreign key:外键约束,某个列的取值范围一定要来源于另外一个表的某个列(通常是另外一个表的主键);
check(mysql中不能使用): 检查约束,此约束可以自定义规则;
default: 默认参数

4.修改数据表

-- 修改表名
alter table old_table_name rename [to] new_table_name;
//修改字段数据类型;
alter table table_name modify 字段名 数据类型;
--修改字段名;
alter table table_name change 旧字段名 新字段名 新数据类型;
//添加字段;
alter table table_name add 新字段名 数据类型 [约束条件] [first|after 已存在字段名];
--删除字段;
alter table table_name drop 字段名;
--修改字段的排列位置;
alter table table_name modify 字段1 数据类型 first|after 字段2;
--修改存储引擎;
alter table table_name enfine=更改后的存储引擎名;
--删除外键约束;
alter table table_name drop foreign key 外键约束名;
----------------------------------
alter table book rename newbook;--修改表名;
alter table book modify bookid int; --修改数据类型为 int;
alter table book change bookid bookID int;--修改数据类型;
alter table book add bookauthor after bookid;--添加bookauther字段到bookid后面;
alter table book drop bookauthor;--删除bookauthor;
alter table book modify bookname after bookid;--修改排列顺序;
alter table book engine=MyISAM;--修改存储引擎为MyISAM;
alter table book drop foreign key fk_emp_dept;--删除外键fk_emp_dept;
发布了12 篇原创文章 · 获赞 8 · 访问量 322

猜你喜欢

转载自blog.csdn.net/qq_45309297/article/details/101169688