精华内容
下载资源
问答
  • #用来获取输入的对应的表名称的建表语句 ...#然后,将建表语句进行对应的修改,形成可以pg可用的语句 #连接mysql数据 import pymysql import sys import re class MysqlDB: def __init__(self): se...

    #用来获取输入的对应的表名称的建表语句
    #首先输入需要获取的mysql或者sql server的数据库表名称,到对应的数据库中抓出建表语句,
    #然后,将建表语句进行对应的修改,形成可以在pg中可用的语句

    #连接mysql数据
    import pymysql
    import sys
    import re
    
    
    class MysqlDB:
        def __init__(self):
            self.hostname = ''
            self.port = 3306
            self.username = ''
            self.password = ''
            self.database = ''
        def connectmysql(self):
            try:
                condb = pymysql.connect(host=self.hostname, port=self.port, user=self.username, passwd=self.password, db=self.database)
                return  condb
            except Exception:
                info = sys.exc_info()
                print("连接异常", info[1])
    
    
        def insertTable(self):
            # 获取数据库连接
            condb = self.connectmysql()
            # 使用cursor() 方法创建一个游标对象 cursor
            cursor = condb.cursor()
            try:
                # 执行sql语句
                sql = "select * from cn_customer.bank"
                cursor.execute(sql)
                # 提交到数据库执行
                condb.commit()
            except Exception:  # 方法一:捕获所有异常
                # 如果发生异常,则回滚
                info = sys.exc_info()
                print("发生异常", info[1])
                condb.rollback()
            finally:
                # 最终关闭数据库连接
                condb.close()
    
        def _convert_type(self, data_type):
            """Normalize MySQL `data_type`"""
            # if 'varchar' in data_type:
            #     return 'varchar'
            if 'int' in  data_type:
                return 'int4'
            # elif 'char' in data_type:
            #     return 'char'
            elif data_type in ('bit(1)', 'tinyint(1)', 'tinyint(1) unsigned'):
                return 'boolean'
            elif re.search(r'smallint.* unsigned', data_type) or 'mediumint' in data_type:
                return 'integer'
            elif 'smallint' in data_type:
                return 'tinyint'
            elif 'tinyint' in data_type or 'year(' in data_type:
                return 'tinyint'
            elif 'bigint' in data_type and 'unsigned' in data_type:
                return 'numeric'
            elif re.search(r'int.* unsigned', data_type) or \
                    ('bigint' in data_type and 'unsigned' not in data_type):
                return 'bigint'
            elif 'float' in data_type:
                return 'float'
            elif 'decimal' in data_type:
                return 'decimal'
            elif 'double' in data_type:
                return 'double precision'
            else:
                return data_type
    
    #获取的table_columns名称,长度等信息
        def load_columns(self,table_name):
            # 获取数据库连接
            condb = self.connectmysql()
            # 使用cursor() 方法创建一个游标对象 cursor
            cursor = condb.cursor()
            fields = []
            cursor.execute('EXPLAIN `%s`' % table_name)
            table_info = cursor.fetchall()
            for res in table_info:
                if res[2] == 'YES':
                    table_null = 'not null'
                else:
                    table_null = ''
                desc = {
                    'column_name': res[0].lower(),
                    'table_name': table_name.lower(),
                    'type': self._convert_type(res[1]).lower(),
                    # 'length': int(length) if length else None,
                    # 'decimals': precision_match.group(2) if precision_match else None,
                    'null': table_null ,
                    'primary_key': res[3] == 'PRI',
                    # 'auto_increment': res[5] == 'auto_increment',
                    # 'default': res[4] if not res[4] == 'NULL' else None,
                }
    
                fields.append(desc)
            #print(fields)
            self.postgres_create(fields)
    
    #在postgresql中创建表
        def postgres_create(self,fields):
            table_name = 'dw_stg.stg_cus_dim_'+ fields[0]['table_name']
            columns = []
            primary_key=[]
            for field in fields:
                if field['primary_key']:
                    primary_key.append(field['column_name'])
                table_column = field['column_name'] + ' ' + field['type'] + ' ' + field['null'] + ','+ '\n'
                columns.append(table_column)
            create_columns = ''.join(columns) + 'ord_loc varchar(10),\nmodify_date_etl timestamp default now(),\nload_dt timestamp default now(),\n'
            create_primary_key = ','.join(primary_key)
            create_sql = "create table %s (\n%sprimary key(%s)\n)\ndistributed by (%s)" %(table_name,create_columns,create_primary_key,create_primary_key)
            print(create_sql)
    
    
    def main():
        mysqldb = MysqlDB()
        connect_result = mysqldb.load_columns('bank')
    
    main()
    
    展开全文
  • 所有对于数据库的修改都会记录binary log,binary log可以用于数据库的恢复(基于时间点的恢复) 操作过程: 1.查看my.cnf配置的log-bin参数 [mysql@redhat6 ~]$ grep “log-bin” /etc/my.cnf log-b

    需求描述:

    今天在研究mysql数据库的备份和恢复,用到了flush logs这个SQL语句。

    所以,在此进行测试,并且记录该SQL语句的作用。

    概念描述:

    在mysql数据库,如果数据库启动的时候,启用了log-bin选项,那么,

    所有对于数据库的修改都会记录在binary log中,binary log可以用于数据库的恢复(基于时间点的恢复)

    操作过程:

    1.查看my.cnf中配置的log-bin参数

    [mysql@redhat6 ~]$ grep "log-bin" /etc/my.cnf 
    log-bin=/mysql/data/mysql-bin/mysql-bin   #定义binary log所在的目录及bin log以什么名字开始。
    #log-bin=mysql-bin
    

    2.在mysql数据库中,查看log_bin系统变量的设置
    复制代码

    mysql> show variables like 'log_bin';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | log_bin       | ON    |
    +---------------+-------+
    1 row in set (0.00 sec)
    

    复制代码

    备注:以上的设置,表示数据库已经开启了binary log.

    3.查看binary log在操作系统上生成的文件
    复制代码

    [mysql@redhat6 ~]$ cd /mysql/data/mysql-bin/
    [mysql@redhat6 mysql-bin]$ ls -l
    total 969552
    -rw-rw----. 1 mysql mysql 27693 Jan 18 17:15 mysql-bin.000001
    -rw-rw----. 1 mysql mysql 1133097 Jan 18 17:15 mysql-bin.000002
    -rw-rw----. 1 mysql mysql 264 Jan 18 17:20 mysql-bin.000003
    -rw-rw----. 1 mysql mysql 26636 Jan 18 17:24 mysql-bin.000004
    -rw-rw----. 1 mysql mysql 1133097 Jan 18 17:24 mysql-bin.000005
    -rw-rw----. 1 mysql mysql 126 Jan 18 17:34 mysql-bin.000006
    -rw-rw----. 1 mysql mysql 126 Jan 18 17:36 mysql-bin.000007
    -rw-rw----. 1 mysql mysql 126 Jan 18 17:38 mysql-bin.000008
    -rw-rw----. 1 mysql mysql 126 Jan 18 17:40 mysql-bin.000009
    -rw-rw----. 1 mysql mysql 126 Jan 19 09:59 mysql-bin.000010
    -rw-rw----. 1 mysql mysql 126 Jan 19 10:03 mysql-bin.000011
    -rw-rw----. 1 mysql mysql 126 Jan 19 10:05 mysql-bin.000012
    -rw-rw----. 1 mysql mysql 126 Jan 19 10:06 mysql-bin.000013
    -rw-rw----. 1 mysql mysql 8428 Jan 19 17:57 mysql-bin.000014
    -rw-rw----. 1 mysql mysql 172320573 Jan 19 18:00 mysql-bin.000015
    -rw-rw----. 1 mysql mysql 126 Jan 22 18:07 mysql-bin.000016
    -rw-rw---- 1 mysql mysql 1202 Jan 23 18:21 mysql-bin.000017
    -rw-rw---- 1 mysql mysql 231 Jan 23 22:44 mysql-bin.000018
    -rw-rw---- 1 mysql mysql 486 Jan 24 18:13 mysql-bin.000019
    -rw-rw---- 1 mysql mysql 126 Jan 25 11:40 mysql-bin.000020
    -rw-rw---- 1 mysql mysql 126 Jan 25 14:05 mysql-bin.000021
    -rw-rw---- 1 mysql mysql 126 Jan 25 14:10 mysql-bin.000022
    -rw-rw---- 1 mysql mysql 126 Jan 25 18:02 mysql-bin.000023
    -rw-rw---- 1 mysql mysql 126 Jan 26 21:21 mysql-bin.000024
    -rw-rw---- 1 mysql mysql 126 Jan 29 14:20 mysql-bin.000025
    -rw-rw---- 1 mysql mysql 3779 Jan 29 14:41 mysql-bin.000026
    -rw-rw---- 1 mysql mysql 126 Jan 29 15:29 mysql-bin.000027
    -rw-rw---- 1 mysql mysql 520 Jan 29 16:12 mysql-bin.000028
    -rw-rw---- 1 mysql mysql 126 Jan 29 17:59 mysql-bin.000029
    -rw-rw---- 1 mysql mysql 2261 Jan 30 17:32 mysql-bin.000030
    -rw-rw---- 1 mysql mysql 2161843 Jan 31 12:58 mysql-bin.000031
    -rw-rw---- 1 mysql mysql 2243815 Jan 31 18:43 mysql-bin.000032
    -rw-rw---- 1 mysql mysql 165265 Feb 1 17:37 mysql-bin.000033
    -rw-rw---- 1 mysql mysql 12792 Feb 2 19:25 mysql-bin.000034
    -rw-rw---- 1 mysql mysql 264 Feb 5 11:22 mysql-bin.000035
    -rw-rw---- 1 mysql mysql 744 Feb 5 17:04 mysql-bin.000036
    -rw-rw---- 1 mysql mysql 1769 Feb 5 19:07 mysql-bin.000037
    -rw-rw---- 1 mysql mysql 5600 Feb 26 17:31 mysql-bin.000038
    -rw-rw---- 1 mysql mysql 126 Feb 27 10:13 mysql-bin.000039
    -rw-rw---- 1 mysql mysql 150 Feb 27 10:14 mysql-bin.000040
    -rw-rw---- 1 mysql mysql 126 Feb 27 10:14 mysql-bin.000041
    -rw-rw---- 1 mysql mysql 126 Feb 27 10:30 mysql-bin.000042
    -rw-rw---- 1 mysql mysql 126 Feb 27 10:32 mysql-bin.000043
    -rw-rw---- 1 mysql mysql 126 Feb 27 10:51 mysql-bin.000044
    -rw-rw---- 1 mysql mysql 126 Feb 27 10:53 mysql-bin.000045
    -rw-rw---- 1 mysql mysql 126 Feb 27 11:04 mysql-bin.000046
    -rw-rw---- 1 mysql mysql 126 Feb 27 12:41 mysql-bin.000047
    -rw-rw---- 1 mysql mysql 626 Feb 27 14:34 mysql-bin.000048
    -rw-rw---- 1 mysql mysql 715342328 Feb 27 15:54 mysql-bin.000049
    -rw-rw---- 1 mysql mysql 308 Feb 27 16:03 mysql-bin.000050
    -rw-rw---- 1 mysql mysql 305 Feb 27 16:27 mysql-bin.000051
    -rw-rw---- 1 mysql mysql 126 Feb 27 16:28 mysql-bin.000052
    -rw-rw---- 1 mysql mysql 126 Feb 27 18:17 mysql-bin.000053
    -rw-rw---- 1 mysql mysql 126 Feb 28 18:33 mysql-bin.000054
    -rw-rw---- 1 mysql mysql 126 Feb 28 18:40 mysql-bin.000055
    -rw-rw---- 1 mysql mysql 126 Mar 1 15:04 mysql-bin.000056
    -rw-rw---- 1 mysql mysql 126 Mar 1 17:45 mysql-bin.000057
    -rw-rw---- 1 mysql mysql 6611 Mar 2 17:04 mysql-bin.000058
    -rw-rw---- 1 mysql mysql 16241 Mar 5 10:47 mysql-bin.000059
    -rw-rw---- 1 mysql mysql 126 Mar 6 17:48 mysql-bin.000060
    -rw-rw---- 1 mysql mysql 1111 Mar 8 18:40 mysql-bin.000061
    -rw-rw---- 1 mysql mysql 126 Mar 9 10:06 mysql-bin.000062
    -rw-rw---- 1 mysql mysql 107 Mar 9 10:12 mysql-bin.000063
    -rw-rw---- 1 mysql mysql 42103 Mar 9 18:27 mysql-bin.000064
    -rw-rw---- 1 mysql mysql 7690 Mar 12 23:28 mysql-bin.000065
    -rw-rw---- 1 mysql mysql 107 Mar 15 16:48 mysql-bin.000066
    -rw-rw---- 1 mysql mysql 126 Mar 19 18:04 mysql-bin.000067
    -rw-rw---- 1 mysql mysql 126 Mar 20 09:49 mysql-bin.000068
    -rw-rw---- 1 mysql mysql 126 Mar 20 09:53 mysql-bin.000069
    -rw-rw---- 1 mysql mysql 264 Mar 20 10:05 mysql-bin.000070
    -rw-rw---- 1 mysql mysql 264 Mar 20 10:50 mysql-bin.000071
    -rw-rw---- 1 mysql mysql 126 Mar 20 10:51 mysql-bin.000072
    -rw-rw---- 1 mysql mysql 126 Mar 20 10:55 mysql-bin.000073
    -rw-rw---- 1 mysql mysql 264 Mar 20 10:57 mysql-bin.000074
    -rw-rw---- 1 mysql mysql 107 Mar 20 10:57 mysql-bin.000075
    -rw-rw---- 1 mysql mysql 52702236 Mar 21 15:01 mysql-bin.000076
    -rw-rw---- 1 mysql mysql 107 Mar 26 14:40 mysql-bin.000077
    -rw-rw---- 1 mysql mysql 23077422 Mar 28 18:13 mysql-bin.000078
    -rw-rw---- 1 mysql mysql 22032005 Mar 29 15:26 mysql-bin.000079
    -rw-rw---- 1 mysql mysql 107 Mar 30 14:06 mysql-bin.000080
    -rw-rw---- 1 mysql mysql 107 Apr 2 09:21 mysql-bin.000081
    -rw-rw---- 1 mysql mysql 150 Apr 3 15:58 mysql-bin.000082
    -rw-rw---- 1 mysql mysql 150 Apr 3 16:00 mysql-bin.000083
    -rw-rw---- 1 mysql mysql 150 Apr 3 16:46 mysql-bin.000084
    -rw-rw---- 1 mysql mysql 150 Apr 3 16:47 mysql-bin.000085
    -rw-rw---- 1 mysql mysql 150 Apr 3 16:52 mysql-bin.000086
    -rw-rw---- 1 mysql mysql 238 Apr 3 17:12 mysql-bin.000087
    -rw-rw---- 1 mysql mysql 150 Apr 3 17:14 mysql-bin.000088
    -rw-rw---- 1 mysql mysql 107 Apr 3 17:14 mysql-bin.000089
    -rw-rw----. 1 mysql mysql 2611 Apr 3 17:14 mysql-bin.index

    复制代码

    备注:binary log是以mysql-bin开头的,然后点后面是binary log的序号。

    4.mysql-bin.index文件是所有bin log文件的列表(列出所有binary log所在路径和名字,./表示的是data目录)
    复制代码

    [mysql@redhat6 mysql-bin]$ cat mysql-bin.index
    ./mysql-bin.000001
    ./mysql-bin.000002
    ./mysql-bin.000003
    ./mysql-bin.000004
    ./mysql-bin.000005
    ./mysql-bin.000006
    ./mysql-bin.000007
    ./mysql-bin.000008
    ./mysql-bin.000009
    ./mysql-bin.000010
    ./mysql-bin.000011
    ./mysql-bin.000012
    ./mysql-bin.000013
    ./mysql-bin.000014
    ./mysql-bin.000015
    ./mysql-bin.000016
    ./mysql-bin.000017
    ./mysql-bin.000018
    ./mysql-bin.000019
    ./mysql-bin.000020
    ./mysql-bin.000021
    ./mysql-bin.000022
    ./mysql-bin.000023
    ./mysql-bin.000024
    ./mysql-bin.000025
    ./mysql-bin.000026
    ./mysql-bin.000027
    ./mysql-bin.000028
    ./mysql-bin.000029
    ./mysql-bin.000030
    ./mysql-bin.000031
    ./mysql-bin.000032
    ./mysql-bin.000033
    ./mysql-bin.000034
    ./mysql-bin.000035
    ./mysql-bin.000036
    ./mysql-bin.000037
    ./mysql-bin.000038
    ./mysql-bin.000039
    ./mysql-bin.000040
    ./mysql-bin.000041
    ./mysql-bin.000042
    ./mysql-bin.000043
    /mysql/data/mysql-bin/mysql-bin.000044
    /mysql/data/mysql-bin/mysql-bin.000045
    /mysql/data/mysql-bin/mysql-bin.000046
    /mysql/data/mysql-bin/mysql-bin.000047
    /mysql/data/mysql-bin/mysql-bin.000048
    /mysql/data/mysql-bin/mysql-bin.000049
    /mysql/data/mysql-bin/mysql-bin.000050
    /mysql/data/mysql-bin/mysql-bin.000051
    /mysql/data/mysql-bin/mysql-bin.000052
    /mysql/data/mysql-bin/mysql-bin.000053
    /mysql/data/mysql-bin/mysql-bin.000054
    /mysql/data/mysql-bin/mysql-bin.000055
    /mysql/data/mysql-bin/mysql-bin.000056
    /mysql/data/mysql-bin/mysql-bin.000057
    /mysql/data/mysql-bin/mysql-bin.000058
    /mysql/data/mysql-bin/mysql-bin.000059
    /mysql/data/mysql-bin/mysql-bin.000060
    /mysql/data/mysql-bin/mysql-bin.000061
    /mysql/data/mysql-bin/mysql-bin.000062
    /mysql/data/mysql-bin/mysql-bin.000063
    /mysql/data/mysql-bin/mysql-bin.000064
    /mysql/data/mysql-bin/mysql-bin.000065
    /mysql/data/mysql-bin/mysql-bin.000066
    /mysql/data/mysql-bin/mysql-bin.000067
    /mysql/data/mysql-bin/mysql-bin.000068
    /mysql/data/mysql-bin/mysql-bin.000069
    /mysql/data/mysql-bin/mysql-bin.000070
    /mysql/data/mysql-bin/mysql-bin.000071
    /mysql/data/mysql-bin/mysql-bin.000072
    /mysql/data/mysql-bin/mysql-bin.000073
    /mysql/data/mysql-bin/mysql-bin.000074
    /mysql/data/mysql-bin/mysql-bin.000075
    /mysql/data/mysql-bin/mysql-bin.000076
    /mysql/data/mysql-bin/mysql-bin.000077
    /mysql/data/mysql-bin/mysql-bin.000078
    /mysql/data/mysql-bin/mysql-bin.000079
    /mysql/data/mysql-bin/mysql-bin.000080
    /mysql/data/mysql-bin/mysql-bin.000081
    /mysql/data/mysql-bin/mysql-bin.000082
    /mysql/data/mysql-bin/mysql-bin.000083
    /mysql/data/mysql-bin/mysql-bin.000084
    /mysql/data/mysql-bin/mysql-bin.000085
    /mysql/data/mysql-bin/mysql-bin.000086
    /mysql/data/mysql-bin/mysql-bin.000087
    /mysql/data/mysql-bin/mysql-bin.000088
    /mysql/data/mysql-bin/mysql-bin.000089

    复制代码

    5.查看当前数据库binary log的位置
    复制代码

    mysql> show master status;
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000089 |      107 |              |                  |
    +------------------+----------+--------------+------------------+
    1 row in set (0.00 sec)
    

    复制代码

    备注:当前使用的bin log是“mysql-bin.000089”,位置是107.

    6.执行flush logs命令
    复制代码

    mysql> flush logs;
    Query OK, 0 rows affected (0.04 sec)
    
    mysql> show master status;
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000090 |      107 |              |                  |
    +------------------+----------+--------------+------------------+
    1 row in set (0.00 sec)
    

    复制代码

    备注:通过执行flush logs命令之后,再次查询binary log信息,发现已经使用了一个新的bin log文件了。

    7.查看操作系统上是否也多了一个binary log文件
    复制代码

    -rw-rw----  1 mysql mysql  22032005 Mar 29 15:26 mysql-bin.000079
    -rw-rw----  1 mysql mysql       107 Mar 30 14:06 mysql-bin.000080
    -rw-rw----  1 mysql mysql       107 Apr  2 09:21 mysql-bin.000081
    -rw-rw----  1 mysql mysql       150 Apr  3 15:58 mysql-bin.000082
    -rw-rw----  1 mysql mysql       150 Apr  3 16:00 mysql-bin.000083
    -rw-rw----  1 mysql mysql       150 Apr  3 16:46 mysql-bin.000084
    -rw-rw----  1 mysql mysql       150 Apr  3 16:47 mysql-bin.000085
    -rw-rw----  1 mysql mysql       150 Apr  3 16:52 mysql-bin.000086
    -rw-rw----  1 mysql mysql       238 Apr  3 17:12 mysql-bin.000087
    -rw-rw----  1 mysql mysql       150 Apr  3 17:14 mysql-bin.000088
    -rw-rw----  1 mysql mysql       150 Apr  3 17:35 mysql-bin.000089
    -rw-rw----  1 mysql mysql       107 Apr  3 17:35 mysql-bin.000090  #操作系统上生成了新的binary log文件。
    -rw-rw----. 1 mysql mysql      2650 Apr  3 17:35 mysql-bin.index
    

    小结:

    flush logs命令的作用就是关闭当前使用的binary log,然后打开一个新的binary log文件,文件的序号加1.

    展开全文
  • 用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句。SQL语句中的更新语句update是最...在MySQL中又多了一个REPLACE语句,因 此,本文以MySQL
  • 在MySQL中又多了一个REPLACE语句,因此,本文以MySQL为背景来讨论如何使有SQL中更新语句。INSERT和REPLACE语句的功能都是向表中插入新数据。这两条语句的语法类似。它们主要区别是如何处理重复数据。MySQL中...
  • mysql修改数据库表和表中的字段编码格式修改

    万次阅读 多人点赞 2016-03-04 17:29:50
    数据库的时候,已经选择了编码格式为UTF-8 但是用PDM生成的脚本导进去的时候却奇怪的发现表和表的字段的编码格式却是GBK,一个一个却又觉得麻烦,网上找了一下办法 一个是修改表的编码格式的 ALTER TABLE `table...

    建数据库的时候,已经选择了编码格式为UTF-8

    但是用PDM生成的脚本导进去的时候却奇怪的发现表和表的字段的编码格式却是GBK,一个一个却又觉得麻烦,在网上找了一下办法

    一个是修改表的编码格式的

    ALTER TABLE `table` DEFAULT CHARACTER SET utf8;
    但是虽然修改了表的编码格式,但是字段的编码格式并没有修改过来,没有什么卵用

    又发现一条语句,作用是修改字段的编码格式

    ALTER TABLE `tablename` CHANGE `字段名1` `字段名2` VARCHAR(36) CHARACTER SET utf8 NOT NULL;
    但是一次只能修改一个字段,还是很麻烦,不方便。

    最后找到这么一条语句

    alter table `tablename` convert to character set utf8;
    它可以修改一张表的所有字段的编码格式,顿时方便多了


    展开全文
  • 此文件是本人亲自开发,测试,编写,里面内容绝对物有所值,文件内容包括MySQL数据库模型图,完整的数据库语句,以及最重要的数据库文档说明,说明包含数据库所有表结构以及相互之间关联关系。很适合...
  • :::我使用是Navicat for MySQL(由于时间匆忙,语句标点都省略了)(还有大小写问题,因为Navicat for MySQL中大小写都是可以,所有此处全部用小写来表示) 首先 DDL语句(即数据定义语言)(新建表,...

    在前段时间的学习中涉及到了一点SQL语句,于是在学习过后记录一下,方便以后查找使用
    :::我使用的是Navicat for MySQL(由于时间匆忙,语句后的标点都省略了)(还有大小写问题,因为在Navicat for MySQL中大小写都是可以的,所有在此处全部用小写来表示)

    首先

    • DDL语句(即数据定义语言)(新建表,新建数据库。。。)

    1、 创建数据库:create database [数据库名字]
    2、创建表:create table [表的名字](字段 类型 约束)
    eg:创建一个学生表

    create table student(
    id  int  primary key auto_increment, //主键+本列数据自动增长
    name varchar(50) unique, //不能重名
    stunumber int unique not null  //不能为空
    ) //即使中间的某一行数据被删除,则还是从被删除后的数字开始排列(自动增长的作用)
    

    3、创建视图(虚拟的表):
    emp是一个表的表名,emp_salary_view是这个视图的名字,
    查询了这个表中所有salary的数值大于2000的人

    create view emp_salary_view as (select * from emp where salary>2000);
    

    显然创建视图的关键字是view ,我个人习惯是在创建视图之前先用SQL语句把要展示的字段先通过select查询出来,然后再创建

    最后附上修改数据库的cmd控制行的方法
    (MySQL8之后的版本)
    进入cmd界面之后,并且进入数据库(前提是已经在电脑中配置好了)
    输入 alter user ‘root’@'localhost’IDENTIFIED BY‘新密码’;
    或者另一种方法
    直接进入cmd界面,不需要进入数据库
    输入mysqladmin -u root -p password 123456(新密码)
    之后回车,再输入以前的密码

    展开全文
  • mysql迁移到DM数据库时sql语句的修改

    千次阅读 2013-10-21 23:17:56
    说起mysql,很多人都不陌生,作为一个开源关系型数据库mysql有着极为广泛使用群体,而且,很多以前的中小型项目都是使用免费的mysql数据库。但是,对国产数据库DM,了解人远没有mysql那么广泛,并且社区和...
  • 需求描述:  今天研究mysql数据库的备份和恢复,用到了flush logs这个SQL语句。...所有对于数据库的修改都会记录binary log,binary log可以用于数据库的恢复(基于时间点的恢复) 操作过程: 1.查看my...
  • 修改本地域名IP映射,修改hosts文件,文件末尾添加一行这样就可以浏览器直接输入域名反问指定IP资源,添加内容如下 102.54.94.97 rhino.acme.com IP 域名 hosts文件路径(Windows XP) C:\WINDOWS\system...
  • 最近写python项目,其中遇到mysql语句带双引号问题是头疼,网上关于这类帖子也很少,遇到到SQL语句死活出问题情况。由于最初没有将异常打印出来,一直不知道原因。随后,将异常打印出来之后,通过异常信息,...
  • 可以说是一个实验性功能,没有在生产支持过(mysql-5.1 release在mysql-5.1.30),那么生产我们有时为了追求完美需要改一下库名。怎么操作呢? 这里提供一个变通方法。 1. 创建出新库名: 代码如下: mysql>...
  • MySQL数据库insert和update语句

    千次阅读 2016-04-11 10:16:19
    MySQL数据库insert和update语句 ...标准的SQL有3个语句,它们是INSERT、UPDATE以及DELETE。 用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新
  • 用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种...在MySQL中又多了一个REPLACE语句,因此,本文以MySQL为背景来讨论如何使有SQL中的更新语句。  一、INSERT和REPL...
  • // 建立与数据库URL定义的数据库的连接 } catch (Exception ee) { ee.printStackTrace(); // 输出异常信息 } if (conn == null) { System.err .println("警告: DbConnectionManager.get...
  • 管理表的数据DML语句用于对表的数据进行管理向数据表插入新的数据记录修改、更新数据表的数据记录修改数据库密码数据表删除指定的数据记录不带where条件的语句标识删除表所有记录DQL是数据查询语句,...
  • 修改Mysql数据库的用户名和密码

    万次阅读 多人点赞 2018-09-20 15:14:07
    日常生活,我们常常要使用数据库来进行工作,数据库的用户名一直都是root,未免会让我们想到来修改一个更适合自己个性的用户名,而且我们第一次使用数据库时,系统生成的密码常常生涩难记,这是,我们可以通过...
  • MySQL ,可以使用 ALTER DATABASE 或 ALTER SCHEMA 语句来修改已经被创建或者存在的数据库的相关参数。修改数据库的语法格式为: ALTER DATABASE [数据库名] { [ DEFAULT ] CHARACTER SET <字符集名> ...
  • SpringBoot中修改MySQL数据库建表方言

    千次阅读 2018-04-25 16:06:01
    SpringBoot集成Hibernate后处理MySQL数据库时创建表时候会出现乱码,是因为创建表时候使用默认建表语言,需要修改建表语言 一、实现 修改配置数据 # jpa配置参数 # 数据库 spring.jpa.database=...
  • 原来的修改密码语句为 ...在mysql8会报错: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
  • 最终,成功实现了对数据库的操作,并总结出了SQL语句在Python代码的格式(规范)问题。特此写博文以记之。 二、问题描述 2.1 问题提出 特别注意:在建数据库的时候,使用的表名、类名均带引号 Pytho...
  • 在mysql中创建数据库testdemo,采用默认字符集。 然后执行建表语句和插入数据操作 通过show create table person查看建表语句,默认字符集为拉丁字符集,为字符集问题。 解决:经百度,参考他人经验,验证可行。 1...
  • 2、MySQL8.0修改密码的语句和5.0版本的有点不一样,网上找的时候得看对了版本 3、远程登录要记得关闭服务端的防火墙 4、workbench只是一个可视化的工具 数据库中几个概念的关系 1、服务器端 一个电脑,有大量...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,024
精华内容 809
关键字:

在mysql中修改数据库的语句

mysql 订阅