2018年5月8日笔记

  • CentOS 7上安装mysql
# CentOS 7 安装mysql

1. 检测系统是否自带安装 mysql
rpm -qa | grep mysql

2. 若已安装,可以进行卸载
rpm -e mysql    //普通删除模式
rpm -e --nodeps mysql   //强力删除模式,若普通删除时提示存在依赖文件,则进行强力删除

3. 安装mysql
# centOS 7
yum install mariadb-server mariadb      //在CentOS 7中,由于 MySQL数据库已从默认的程序列表中移除,可以使用 mariadb 代替
systemctl start mariadb         //启动mariadb
mysqladmin --version            //验证mysql是否工作正常

# centOS 6
yum install mysql
yum install mysql-server
yum install mysql-devel
service mysqld start            //启动mysql

4. 安装完成后需设置root密码
mysqladmin -u root password xxxxxx     //设置root密码
mysql -u root -p                //连接到sql服务器

 

 

  • mysql常用的show命令

1. show databases;                //显示所有数据库名称

2. show tables; 或 show tables from databse_name;  //显示数据库中所有变的名称

3. show variables;                 //显示系统变量

4. show processlist;                //显示当前运行的所有进程

5. show columns from database_name.table_name;  //显示表中列名称

6. show grants for user_name;           //显示一个用户的权限

7. show index from table_name;          //显示表的索引

8. show create database database_name;      //显示一个数据库的create语句

9. show create table table_name;          //显示一个表的create语句

10. show status;                 //显示一些系统特定资源的信息,例如,正在运行的线程数量

11. show table status;              //显示当前使用或者指定的database中的每个表的信息,信息包括表类型和表的最新更新时间

12. show privileges;               //显示服务器所支持的不同权限

 

 

  • mysql 数据类型

1. 数值类型:

类型大小范围(有符号)范围(无符号)用途
TINYINT1 字节(-128,127)(0,255)小整数值
SMALLINT2 字节(-32 768,32 767)(0,65 535)大整数值
MEDIUMINT3 字节(-8 388 608,8 388 607)(0,16 777 215)大整数值
INT或INTEGER4 字节(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值
BIGINT8 字节(-9 233 372 036 854 775 808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)极大整数值
FLOAT4 字节(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466 E+38)单精度
浮点数值
DOUBLE 8 字节 (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度
浮点数值
DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值

 

2. 日期和时间类型:

类型大小
(字节)
范围 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 4

1970-01-01 00:00:00/2038

结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07

YYYYMMDD HHMMSS 混合日期和时间值,时间戳

 

3. 字符串类型:

类型大小用途
CHAR0-255字节定长字符串
VARCHAR0-65535 字节变长字符串
TINYBLOB0-255字节不超过 255 个字符的二进制字符串
TINYTEXT0-255字节短文本字符串
BLOB0-65 535字节二进制形式的长文本数据
TEXT0-65 535字节长文本数据
MEDIUMBLOB0-16 777 215字节二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215字节中等长度文本数据
LONGBLOB0-4 294 967 295字节二进制形式的极大文本数据
LONGTEXT0-4 294 967 295字节极大文本数据

 

 

  • Python中pymysql模块的一般用法
 1 import pymysql
 2 
 3 # 创建连接
 4 conn = pymysql.connect(host="xx.xx.xx.xx", port=xxxx, user="user1", passwd="passwd1", db="test")
 5 # 创建游标
 6 cur = conn.cursor()
 7 # 定义sql
 8 sql = "select * from test;"
 9 
10 # 执行sql语句
11 # cur.execute(sql)
12 # 执行多条语句(不常用)
13 # cur.executemany()
14 # 取所有结果
15 # cur.fetchall()
16 # 取一个结果
17 # cur.fetchone()
18 # 取10行数据
19 # cur.fetchmany(size=10)
20 # 关闭游标
21 # cur.close()
22 
23 try:
24     cur.execute(sql)
25     result = cur.fetchone()
26     print(result)
27 except Exception as e:
28     raise e
29 finally:
30     cur.close()
31     conn.close()

 

 

  • 创建表格

一般语法为:

create table table_name(

  column_name  type  not null,

  ...... );

 

例如:

create table Student(
stdID int not null,
stdName varchar(100),
age int,
score int);

 

 

  • 如何给用户user1授予超级用户权限
grant all privileges on *.* to 'user1'@'%' identified by '123456' with grant option;

 

 

  • mysql的增删改查

 

1. 查询记录

select column_names from table_name where condition group by column_name1 having count(*)>1 order by column_name2 desc;

 

2. 插入记录

insert into table_name (id, name, age) values (1001, 'Karl', 20);

 

3. 删除记录

delete from table_name where condition;

 

4. 更改记录

update table_name set column_name=xxx where condition;

 

 

  • 索引

1. 创建索引

CREATE INDEX indexName ON mytable(username(length)); 

 

2. 修改表结构(添加索引)

ALTER table tableName ADD INDEX indexName(columnName);

 

3. 创建表的时候直接指定

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);  

 

4. 删除索引

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);  

 

 

  • mysql的其他常用语句

 

以下2个语句均能查看表结构,第2种显示更清晰

(1) show create table_name;

(2) desc table_name;

 

truncate  //只清楚数据,不删除表结构

drop     //删除表结构

转载于:https://www.cnblogs.com/karl-python/p/9017431.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值