MySQL数据库基础

注意事项

  1. SQL 语句中,每条语句都应该以;结尾;
  2. SQL 语句中,并不区分大小写,也不区分单引号双引号,都是一样的;
  3. SQL 语句中,数据库名称、表名称、字段名称并不能直接使用 SQL 中的关键字,如果非要使用,则需要将冲突的名字使用 “ ` ”(反引号)括起来;
注释
  • 单行注释可以使用#注释符,#注释符后直接加注释内容,格式如下:
#从结果中删除重复行
SELECT DISTINCT product_id, purchase_price FROM Product;
  • 单行注释可以使用--注释符,--注释符后需要加一个空格,注释才能生效,格式如下:
-- 从结果中删除重复行
SELECT DISTINCT product_id, purchase_price FROM Product;
  • 多行注释使用/* */注释符。/*用于注释内容的开头,*/用于注释内容的结尾,多行注释格式如下:
/*这条SELECT语句,
  会从结果中删除重复行*/
SELECT DISTINCT product_id, purchase_price FROM Product;

库的操作

进入数据库
  • mysql -u用户名 -p:输入指令后敲回车,此时如果设置了密码,则需要输入密码,如果没有设置密码,则直接敲回车即可登入;
显示数据库
  • show databases;:查看所有已创建的数据库;
  • select database();:查看当前所操作的数据库;
    • show create database 库名称:查看创建数据库的 SQL 语句;
创建数据库
  • create database 库名称;:创建数据库,如果该数据库已存在,则会报错;
  • create database if not exists 库名称;:创建数据库,如果该数据库已存在,则不会报错;
使用数据库
  • use 库名称;:当你需要使用数据库时,你需要选择一个数据库来操作;
删除数据库
  • drop database 库名称;:删除数据库,如果该数据库不存在则报错,数据库中的内容也将会被全部删除,所以谨慎操作;
  • drop database if not exists 库名称;:删除数据库,如果该数据库不存在并不会报错,数据库中的内容也将会被全部删除,所以谨慎操作;

常用数据类型

整型与浮点型
数据类型大小说明对应 C 类型
BIT[ (M) ]M指定位数,默认为1二进制数,M 范围从 1 到 64,存储数值范围从 0 到 2^M - 1char[]
TINYINT1 字节signed char
SMALLINT2 字节short int
INT4 字节int
BIGINT8 字节long long int
FLOAT(M, D)4 字节单精度,M 指定长度,D 指定小数位数,会发生精度丢失float
DOUBLE(M, D)8 字节double
DECIMAL(M, D)M / D 最大值 + 2双精度,M 指定长度,D 表示小数点位数,精确数值char[]
NUMERIC(M, D)M / D 最大值 + 2双精度,M 指定长度,D 表示小数点位数,精确数值char[]
字符串类型
数据类型大小说明对应 C 类型
VARCHAR (SIZE)0 - 65535 字节可变长度的字符类型,m 代表了最多可以存储的字符个数,而不是字节个数,可变长的意思是,当 m 为 255,但你只存了 5 个字符,那么这个变量的大小就是 5 * 字符大小;char[]
TEXT0 - 65535 字节长文本数据char[]
MEDIUMTEXT0 -16777215 字节中等长度文本数据char[]
BLOB0 - 65535 字节二进制形式的长文本数据char[]
日期类型
数据类型大小说明对应 C 类型
DATETIME8 字节范围从 1000 到 9999 年,不会进行时区的检索及转换,常用MYSQL_TIME
TIMESTAMP4 字节范围从 1970 到 2038 年,自动检索当前时区并进行转换MYSQL_TIME
  • now():获取系统时间

表的操作

创建表
  • create table 表名称(变量名称1 变量类型, 变量名称2 变量类型, 变量名称3 变量类型...);在当前数据库中创建一张表,表中的字段为后面括号中所设置的,且顺序固定,如果表存在,则报错;
  • create table if not exists 表名称(变量名称1 变量类型, 变量名称2 变量类型, 变量名称3 变量类型...);在当前数据库中创建一张表,表中的字段为后面括号中所设置的,且顺序固定,如果表存在并不报错;
  • comment:可以为表中字段添加说明信息,示例如下:
create table stu_test (
	id int,
	name varchar(20) comment '姓名',
	password varchar(50) comment '密码',
	age int,
	sex varchar(1),
	birthday timestamp,
	amout decimal(13,2)
);
查看表
  • show tables;:查看当前所操作的数据库中的所有表;
  • describe / desc 表名称;:查看指定表的结构,也就是存放了什么变量、变量有什么属性等等;
  • show create table 表名称:查看创建表的 SQL 语句;
删除表
  • drop table 表名称;:删除指定的表;
修改表
  • alter table 表名称 rename 新名称;:将指定表的名称修改为新名称;
  • rename table 表名称 to 新名称;:将指定表的名称修改为新名称;
  • alter table 表名称 add 字段名称 字段属性 after 表中字段;:在表中某一字段后面添加新的字段;
  • alter table 表名称 drop 表中字段;:删除表中指定字段的那一列;
  • alter table 表名称 change 字段名称 新名称 字段属性;:重命名表中的某一列;
  • alter table 表名称 change 字段名称 字段名称 字段属性 after 表中字段;:将表中的某一字段移动到表中的另一字段后面,也就是调整字段顺序;
  • alter table 表名称 change 字段名 字段名 要修改的属性;:对表中字段的属性进行修改;

数据库导入

  • mysql -uroot -p < 数据库语句文件:在 vim 中编写好数据库创建、表创建、数据插入等操作语句后,可以直接导入 MySQL 中,然后这些语句就会被依次执行;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值