Java教程

数据库整理

本文主要是介绍数据库整理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 数据库操作语句以及关键词
    • 1.针对库以及mysql
    • 2.操作表
    • 3.操作记录
    • 4.字段类型
    • 5.python操作MySQL

数据库操作语句以及关键词

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')  # 相对于起始位置往后移动一个单位
这篇关于数据库整理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!