Loading

Python/MySQL(一、基础)

Python/MySQL(一、基础)

mysql:
 MYSQL : 是用于管理文件的一个软件
 
-socket服务端  (先启动)
-本地文件操作
-解析 指令【SQL语句】
 
 
-客户端软件       (各种各样的客户端【MYSQL 自带的客户端,自己创建的客户端】)
-socket客户端
-发送指令
-解析 指令 【SQL语句】
 
DBMS(数据库管理系统)
     语法规则(SQL语句) 
 
 
其他类似软件 :
         关系型数据库:(有多个约束)
         非关系型数据库(约束功能偏少)
 

关于连接:

 
创建用户:

mysql> create user 'meimei'@'%' identified by '123123';
Query OK, 0 rows affected (0.00 sec)

设置用户以及密码

修改用户:

mysql> rename user 'meimei'@'%' to 'ermei'@'%';
Query OK, 0 rows affected (0.00 sec)

修改用户密码:

1 mysql> set password for 'ermei'@'%'=password('3333');
2 Query OK, 0 rows affected, 1 warning (0.00 sec)

删除用户:

1 mysql> drop user 'ermei';
2 Query OK, 0 rows affected (0.00 sec)

查看设置的权限:

1 mysql> show grants for 'meimei'@'%';
2 +------------------------------------+
3 | Grants for meimei@%                |
4 +------------------------------------+
5 | GRANT USAGE ON *.* TO 'meimei'@'%' |
6 +------------------------------------+
7 1 row in set (0.00 sec)

对用户设置目录的权限;

1 mysql> grant all privileges on  *.* to 'meimei'@'%';
2 Query OK, 0 rows affected (0.00 sec)

取消目录设置的权限;

1 mysql> revoke  all privileges on *.* from  'meimei'@'%';
2 Query OK, 0 rows affected (0.00 sec)

数据库操作(目录)

创建数据库(文件夹)

create database 数据库名称 default charset utf8;
mysql> create database tu default charset utf8;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| b2                 |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| tu                 |
| world              |
+--------------------+
8 rows in set (0.00 sec)

 删除数据库(文件夹)

drop  database 数据库名称;
mysql> drop database tu;
Query OK, 0 rows affected (0.00 sec)

创建数据夹(文件)

mysql> create table ll(id int auto_increment primary key,naem char(10))engine=innodb default charset=utf8;
Query OK, 0 rows affected (0.56 sec)    

删除数据夹(文件)

 mysql> drop table ll;
Query OK, 0 rows affected (0.23 sec)

数据表(文件内容)

增加文件内容: insert into 表名(表行名称) values(行内容)

mysql> insert into ll(id,naem) values(1,'alex');
Query OK, 1 row affected (0.06 sec)
删除文件内容
清空文件内容(继续自增)
mysql> delete from ll;
Query OK, 1 row affected (0.14 sec)

清空文件内容(重新自增)

mysql> truncate table ll;
Query OK, 0 rows affected (0.35 sec)

删除文件

mysql> drop table ll;
Query OK, 0 rows affected (0.20 sec)
 
mysql> show tables;
+--------------+
| Tables_in_b2 |
+--------------+
| jj           |
+--------------+
1 row in set (0.00 sec)
切换目录:
sue 目录名称
mysql> use b2;
Database changed

查看数据库目录:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| b2                 |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
7 rows in set (0.00 sec)

  查看数据表:

show tables;
           mysql> show tables;
+--------------+
| Tables_in_b2 |
+--------------+
| jj           |
+--------------+
1 row in set (0.00 sec)

查看数据行;

select  *  from  表名;
          mysql> use b2;
Database changed
mysql> select * from jj;
+----+--------+------+
| id | name   | age  |
+----+--------+------+
|  1 | xx   | NULL |
|  2 | yy   | NULL |
|  3 | zx   | NULL |
|  4 | NULL   |   11 |
+----+--------+------+
4 rows in set (0.00 sec)

设置主键(1。规范(不能重复且不能为空)2.运行速度快)

auto_increment primary key 
设置是否为空:
not null   (null)
          mysql> create table ls(id int null) engine=innodb default charset=utf8;
          Query OK, 0 rows affected (0.44 sec)

设置引擎

engine=innodb  

设置编码

default charset=utf8         

设置外键

constraint fk_cc foreign key (color _id ) references color(nid)

bit【(M)】

二进制位(100010) m表示二进制位的长度(1-64),默认m=1

tinyint【(m)】【unsigned】【zerofill】

小整数,数据类型用于保存一些范围的整数数字范围;
          有符号:
                    -128~127
          无符号:
                    0~255
          特别的;Mysql中无布尔值,使用tinyint(1)构造

int【(m)】【unsigned】【zerfodill】


整数,数据类型用于保存一些范围的整数数字范围;

                    有符号:

                         -214783648~2147483647

                    无符号:

                         0~429467295

 

               特别的:整数类型中的m仅用于显示,对存储范围无限制。例如:int(5),当插入数据2是,select时数据显示为:00002
 

bigint【(m)】【unsigned】【zerfodill】

  大整数,数据类型用于保存一些范围的整数数范围:
                    有符号:
                             
          -9223372036854775808 ~ 9223372036854775807
          无符号:
           0  ~  18446744073709551615

 decimla[(m[,d])][unsigned][zerofill]

  准确的小数值,m是数字总个数(符号不算),d是小数点后个数。m最大值为65 d最大值为30
          特别的:对与精确数值计算时需要用此类型
           decaimal能够存储精确值的原因在于其内部按照字符串存储

 

 float【(M,D)】【unsigned】【zerofill】

单精度浮点数(非准确小数值),m是数字总个数,d是小数后个数
         无符号:
             
                     -3.402823466E+38 to -1.175494351E-38,
                    0
                    1.175494351E-38 to 3.402823466E+38
                有符号:
                    0
                    1.175494351E-38 to 3.402823466E+38

            **** 数值越大,越不准确 ****

 

 double【(M,D)】【unsig】【zerofill】

 

          双精度浮点数(非准确小数值),M是数字 总个数,d是小数点后个数
               
 无符号:
                    -1.7976931348623157E+308 to -2.2250738585072014E-308
                    0
                    2.2250738585072014E-308 to 1.7976931348623157E+308
                有符号:
                    0
                    2.2250738585072014E-308 to 1.7976931348623157E+308
            **** 数值越大,越不准确 ****

 char(m)

char 数据类型用于表示固定长度的字符串们可以包含最多达255个字符。其中m代表字符串的长度
     即使数据小于m长度,也会占用m长度(会进行自动补全)

varchar(10)

 

 varchar(10)

varchar数据类型用于变长的字符串,可以包含最对达255个字符,其中m代表该数据类型所允许保存的字符串最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中
                         注意:虽然varchar使用起来较为灵活(节省内容),但是从整个系统的 性能角度来说,char数据类型的处理速度更快,

 

text 

text数据类型用于保存变大字符串,可以组多到65535(2**16-1)个字符


               
mediumtext
            A TEXT column with a maximum length of 16,777,215 (2**24 − 1) characters.

        longtext
            A TEXT column with a maximum length of 4,294,967,295 or 4GB (2**32 − 1) characters.

 

  enum

枚举类型:
                         An ENUM column can have a maximum of 65,535 distinct elements. (The practical limit is less than 3000.)
                          ENUM列最多可以有65,535个不同的元素。(实际的极限小于3000。)
                 create table shirts(
                    name  varchar(10)
                    size enum('x','x+','y','y+'))engine=innodb 
                    insert into shirts(name,size) values('alex','y+')

                    在设置好的默认值范围中选择一个使用

 

 set 

集合类型:
          
 A SET column can have a maximum of 64 distinct members
一个集合列最多可以有64个不同的成员
          create table myset(col set('a','b','c','d'))
          insert  into myset (col) values('a,d,)('a,b')('d','b')
          
                   在设置好默认的范围中选择一个内容进行组合 使用

 

 DATE

DATE
            YYYY-MM-DD(1000-01-01/9999-12-31)

 

 TIME

TIME
            HH:MM:SS('-838:59:59'/'838:59:59'

 

 YEAR

YEAR
            YYYY(1901/2155)

 

 DATETIME

YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59    Y)

 

 

 TIMESTAMP

        TIMESTAMP

            YYYYMMDD HHMMSS(1970-01-01 00:00:00/2037 年某时)

 

 

posted @ 2017-06-05 19:45  Meet~  阅读(295)  评论(0)    收藏  举报