
sql语句最后需要有分号;结尾
sql语句的执行结果略
1. 数据库操作
1.1 连接数据库
格式:
mysql -u<username> -p<password>
使用:
方式1:
mysql -uroot -p # 再输入密码
方式2:
mysql -uroot -pmysql1.2 退出数据库
exit 或 quit 或 ctrl+d1.3 显示数据库版本
select version();1.4 显示时间
select now();1.5 查看所有数据库
show databases;1.6 创建数据库
create database 数据库名 charset=utf8;
create database db_demo;
create database db_demo charset=utf8;1.7 查看创建数据库的语句
show crate database 数据库名
show create database db_demo;1.8 查看当前使用的数据库
select database();1.9 使用数据库
use 数据库的名字
use db_demo;1.10 删除数据库
drop database 数据库名;
drop database db_demo;1.11 修改数据库的编码方式
- 如果没有在创建数据库的时候指定编码的话,向数据库中插入中文后,会报错,那么需要修改数据库的编码集
alter database 数据库名 CHARACTER SET utf82. 数据表操作
2.1 查看当前数据库中所有表
show tables;2.2 创建表create table ...
- 常用约束:
auto_increment表示自动增长not null表示不能为空primary key表示主键default默认值
create table 数据表名字 (字段 类型 约束[, 字段 类型 约束]);
create table xxxxx(id int, name varchar(30));
create table yyyyy(id int primary key not null auto_increment, name varchar(30));
create table zzzzz(
id int primary key not null auto_increment,
name varchar(30)
);创建一个students学生表(id、name、age、high、gender、cls_id)
create table students(
id int unsigned not null auto_increment primary key,
name varchar(30),
age tinyint unsigned default 0,
high decimal(5,2),
gender enum("男", "女", "中性", "保密") default "保密",
cls_id int unsigned
);2.3 查看表结构
desc 数据表的名字;
desc xxxxx;2.4 查看表的创建语句
show create table 表名字;
show create table students;2.5 修改表alter table ...
2.5.1 添加字段add
alter table 表名 add 列名 类型;
alter table students add birthday datetime;2.5.2 修改字段:不重命名版modify
alter table 表名 modify 列名 类型及约束;
alter table students modify birthday date;2.5.3 修改字段:重命名版change
alter table 表名 change 原名 新名 类型及约束;
alter table students change birthday birth date default "2000-01-01";2.5.4 删除字段alter table 表名 drop 列名
alter table 表名 drop 列名;
alter table students drop high;2.6 删除表drop table ...
drop table 表名;
drop table xxxxx;3. 数据增删改查(curd)
3.1 增加insert into ... values()
- 主键字段 可以用 0、null、default 来占位
3.1.1 全列插入
insert [into] 表名 values(...)
-- 向classes表中插入 一个班级
insert into classes values(0, "菜鸟班");
-- 向students表插入 一个学生信息
insert into students values(0, "小李飞刀", 20, "女", 1, "1990-01-01");
insert into students values(null, "小李飞刀", 20, "女", 1, "1990-01-01");
insert into students values(default, "小李飞刀", 20, "女", 1, "1990-01-01");
-- 枚举中 的 下标从1 开始 1---“男” 2--->"女"....
insert into students values(default, "小李飞刀", 20, 1, 1, "1990-02-01");3.1.2 部分插入
insert into 表名(列1,...) values(值1,...)
insert into students (name, gender) values ("小乔", 2);3.1.3 多行插入
insert into students (name, gender) values ("大乔", 2),("貂蝉", 2);
insert into students values(default, "西施", 20, "女", 1, "1990-01-01"), (default, "王昭君", 20, "女", 1, "1990-01-01");3.2 修改update ... set ...
update 表名 set 列1=值1,列2=值2... where 条件;
update students set gender=1; -- 全部都改
update students set gender=1 where name="小李飞刀"; -- 只要name是小李飞刀的 全部的修改
update students set gender=1 where id=3; -- 只要id为3的 进行修改
update students set age=22, gender=1 where id=3; -- 只要id为3的 进行修改3.3 查询select ... from ...
3.3.1 查询所有列
select * from 表名;
select * from students;3.3.2 定条件查询
select * from 表名 where ...;
select * from students where name="小李飞刀"; -- 查询 name为小李飞刀的所有信息
select * from students where id>3; -- 查询 name为小李飞刀的所有信息3.3.3 查询指定列
select 列1,列2,... from 表名;
select name, gender from students;3.3.4 可以使用as为列或表指定别名
select 字段[as 别名] , 字段[as 别名] from 数据表 where ....;
select name as 姓名,gender as 性别 from students;3.4 删除
3.4.1 物理删除delete from ...(这个命令慎用)
- 这个命令慎用!!!!!
delete from 表名 where 条件
delete from students; -- 整个数据表中的所有数据全部删除
delete from students where name="小李飞刀";3.4.2 逻辑删除(推荐)
- 用一个字段来表示 这条信息是否已经不能再使用了
- 给students表添加一个is_delete字段 bit 类型
alter table students add is_delete bit default 0;
update students set is_delete=1 where id=6;4. 数据备份&恢复
4.1 备份mysqldump
- 打开终端直接输入下面的命令
mysqldump –uroot –p 数据库名 > my_data.sql; -- 按提示输入mysql的密码4.2 恢复
- 连接mysql,创建新的数据库
- 退出连接,执行如下命令
mysql -uroot –p 新数据库名 < python.sql; -- 根据提示输入mysql密码回到顶部
Delphi连接MySQL数据库操作指南
本文围绕Delphi中FDQuery连接MySQL数据库展开,介绍了数据库操作,如连接、退出、创建、删除等;数据表操作,包括创建、修改、删除表;数据的增删改查操作;以及数据备份与恢复的方法,还提及数据库编码设置和删除命令的使用注意事项。
1953

被折叠的 条评论
为什么被折叠?



