数据库整理
作者:互联网
目录
数据库操作语句以及关键词
1.针对库以及mysql
1.mysqladmin -uroot -p原密码 password 新密码
2.set password=PASSWORD('新密码'); # 修改数据库密码
3.show databases; # 查看当前所有数据库名称
4.show create database dbname; # 查看指定库信息
5.show database dbname; # 创建一个库
6.alter database dbname charset='utf8'; # 修改字符编码
7.drop database dbname; # 删除指定库
8.select database(); # 查看当前所在的库
9.use dbname; # 切换到该库下面
2.操作表
1.show tables; # 查看当前库下的表名
2.show create table tbname; # 查看表信息
3.desc tbname; # 查看表内的字段信息
4.create table tbname(字段名称1 字段类型1 约束条件可多个,字段名称2 字段类型2 约束条件) # 创建一个表
5.drop table tbname; # 删除一个表
6.alter table tbname rename 新tbname; #修改表名
7.alter table tbname add 字段名 字段类型;
alter table tbname add 字段名 字段类型 after 指定字段名;
alter table tbname add 字段名 字段类型 first;
8.alter table tbname change 指定字段名 该字段新名 字段类型 约束条件; # 修改字段信息,字段名可有可无
9.alter table tbname drop 指定字段名;
10.create view 视图名 as sql语句;
3.操作记录
1.select * from tbname; # *表示所有也可替换成字段名
2.select * from dbname.tbname\G; # 查看某库下的表名
3.insert into tbname values(值1,值2),(值3,值4)
# 对于tbname后面也可以跟指定的字段后面的值对应传值
4.update tbname set 字段名=新值 where 修改的条件;
5.delete from tbname where 删除的条件;#无条件删全部
4.字段类型
# 整型
1.tinyint
2.smallint
3.int(4) # 展示长度最多为4 zerofill不够位数用0填
4.bigint
# 浮点型
1.float(15,2) # 一共15位数,小数占两位
2.double
3.decimal
# 字符类型
1.char(4) # 固定长度为4
2.varchar(4) # 最大限制为4
# 枚举
1.enum('1','2','3') # 插入数据只能是定义中的一个
2.set('1','2','3') # 插入数据可以是任意个数
3.date/datetime/time/year # 时间格式
# 约束条件
1.unsigned # 固定id字段只能为正数且去除了正负号
2.zerofill # 不够位数用0填充
3.not null # 字段数据不能不传也不能传null
4.default 'x' # 字段默认为x
5.unique # 指定字段不能重复
6.primary key # 设置主键方便查找
7.autu_increment # 不用传值自动增加
8.foreign key(主键) references 关联表名(字段)
on update cascade # 级联更新
on delete cascade # 级联删除
# 筛选关键词
1.like '%o%'/'____' # 模糊查找
%:匹配任意个数的任意字符
_:匹配单个个数的任意字符
2.group by 分组
group_concat(参数,)
聚合函数
max(参数) 统计最大值
min 统计最小值
sum 统计求和
count 计数
avg 平均数
3.having # 针对分组之后的筛选
where # 针对分组之前的筛选
4.distinct # 对莫一行去除重复
5.order by # 排序desc设置为降序默认为升
6.limit 5,5; # 限制数据展示的条数
7.regexp # 正则匹配
8.inner join 内连接
left join
right join
union # 全连接
# 对于表数据主键truncate tbname;则可以实现重置
5.python操作MySQL
# 1.链接服务端
conn_obj = pymysql.connect(
host='127.0.0.1', # MySQL服务端的IP地址
port=3306, # MySQL默认PORT地址(端口号)
user='root', # 用户名
password='jason123', # 密码 也可以简写 passwd
database='jp04_3', # 库名称 也可以简写 db
charset='utf8' # 字符编码 千万不要加杠utf-8
aotucommit=True # 自动二次确认
) # 要善于查看源码获取信息
# 2.产生获取命令的游标对象
cursor = conn_obj.cursor(
cursor=pymysql.cursors.DictCursor
) # 括号内不写参数 数据是元组要元组 不够精确 添加参数则会将数据处理成字典
# 3.编写SQL语句
# sql1 = 'show tables;'
sql1 = 'select * from teacher;' # SQL语句会被高亮显示 不用惊慌
# sql1 = 'select * from score;' # SQL语句会被高亮显示 不用惊慌
# 4.执行SQL语句
affect_rows = cursor.execute(sql1)
print(affect_rows) # 执行SQL语句之后受影响的行数
# 5.获取结果
res = cursor.fetchall()
print(res)
'''补充说明'''
获取SQL语句执行的结果 跟读取文件内容的read方法几乎一致(光标)
fetchone()
fetchmany()
fetchall()
cursor.scroll(1, 'relative') # 相对于当前位置往后移动一个单位
cursor.scroll(1, 'absolute') # 相对于起始位置往后移动一个单位
标签:语句,数据库,tbname,cursor,整理,table,alter,字段名 来源: https://www.cnblogs.com/ll71979461/p/16383682.html