Mysql浅尝

Mysql浅尝

1.mysql的登录与退出

输入:mysql -uroot -p -P3306 -h127.0.0.1
退出的三种方式:
mysql > exit;
mysql > quit;
mysql > \q;

2.MYSQL数据库的一些解释

注意:数据库就相当于文件夹
表就相当于文件

3.MySQL注释符

1. #注释内容	(井号)
2. -- 内容	 (减减空格)
3. /*内容*/	 (斜杠星星斜杠)

4.数据库基本操作

库
增删改查
create database db_name; 				#创建db_name数据库
drop database db_name;					#删除db_name数据库
alter database db_name charset utf8;	#更新db_name数据库的编码格式为utf8
show databases;							#查看所有数据库

use db_name;							#选择db_name数据库
show tables;							#查看当前库里面的所有表
select database();						#显示当前数据库名
rename database old_db_name to new_db_name;
表
desc table_name;						#查看表的结构
DESCRIBE table_name;					#查看表的结构
select * from table_name;				#查看表的内容

建立表
CREATE TABLE table_name(
	属性名 数据类型 [完整约束条件],
    属性名 数据类型 [完整约束条件],
    ...
    属性名 数据类型 [完整约束条件]
);

create table users(
	id int(7) AUTO_INCREMENT,	#自动增长
    username varchar(100) not null,
    password varchar(100) not null,
    PRIMARY KEY(id),			#设置主键(优化大量数据查询速度)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

if not exists #表示当相同表名存在时,则不执行此创建语句,避免语句执行错误
create database if not exists [table_name];

约束条件
	PRIMARY KEY		#标识该属性为该表的主键,可以唯一的标识对应的元组
	FOREIGN KEY		#标识该属性为该表的外键,是与之联系,某表的主键
	NOT NULL		#标识该属性的值不能为空
	UNIQUE			#表示该属性的值是唯一的
	AUTO_INCREMENT	#标识该属性的值是自动增加的(Mysql的sql语句特色)
	DEFAULT			#为该属性设置默认值

常见的数据库引擎
InnoDB(适用于数据处理) myisam(适用于大量数据存储)

修改表的操作
	ALTER TABLE old_table_name RENAME new_table_name;
修改字段的数据类型
	ALTER TABLE 表名 MODIFY column_name 数据类型;
修改字段名
	ALTER TABLE 表名 CHANGE old_column_name new_column_name 新数据类型;
增加字段名
	ALTER TABLE 表名 ADD column_name1 数据类型 [完整的约束条件] [FIRST|AFTER column_name2];
删除字段
	ALTER TABLE 表名 DROP column_name;
更改表的存储引擎
	ALTER TABLE 表名 ENGINE = 引擎名; # InnoDB/myisam

5.数据库的增删改查

增加数据
	#指定column_name
insert into 表名 (column_name1,column_name2,...)		
			values (value1,value2,...);
	#若未指定column_name,则添加的值得顺序应和column在表中的顺序完全一致
insert into 表名 values(value1,value2,...);

insert into 表名 set column_name1=value1[,column_name2=value2,...];

删除数据
	delete from 表名 [where 条件表达式]   #删除表中(部分)数据
	TRUNCATE table 表名;				  #完全删除整个表的记录
	
更新数据
	update 表名 set column_name1=value1 [,column_name2=value2,...] [where 表达式];
查询数据
	select username,passwd from 表名 [where 条件表达式];
	select * from 表名 [where 条件表达式];
	select * from users where id in(1,2,3);   #查询id为1,2,3的字段值
	select * from users where id is not null; #查询非空字段值
	select * from users where username like "m%"; #查询username以m开头的字段值 
	"%" 代替多个字符,"_"代替单个字符
	
order by    #以order by后的字段名排序
GROUP by	#以group by后的字段名进行组排序(例如区分男女生)
limit		#limit 0,1 从索引为0的位置开始,限制输出1条数据

Mysql浅尝

上一篇:Mysql多表查询练习


下一篇:IdentityServer4之Consent与offline_access