GVKun编程网logo

mysql之CREATE DATABASE Syntax(创建数据库)(mysql创建新数据库怎么创建)

15

在这篇文章中,我们将带领您了解mysql之CREATEDATABASESyntax(创建数据库)的全貌,包括mysql创建新数据库怎么创建的相关情况。同时,我们还将为您介绍有关###MySQL数据库D

在这篇文章中,我们将带领您了解mysql之CREATE DATABASE Syntax(创建数据库)的全貌,包括mysql创建新数据库怎么创建的相关情况。同时,我们还将为您介绍有关###MySQL 数据库DataBase、5.13Mysql 数据库 Database、android – SQLiteDatabase.openDatabase vs SQLiteOpenHelper.getReadableDatabase、app.config['SQLALCHEMY_DATABASE_URI'] = f'sqlite:///{DB_NAME}' SyntaxError: Invalid Syntax的知识,以帮助您更好地理解这个主题。

本文目录一览:

mysql之CREATE DATABASE Syntax(创建数据库)(mysql创建新数据库怎么创建)

mysql之CREATE DATABASE Syntax(创建数据库)(mysql创建新数据库怎么创建)

一:语法

{ } 301_6250@的特征

create_specification:
<span>[<span>DEFAULT<span>] <span>CHaraCTER <span>SET <span>[<span>=<span>]<span> charset_name #指定字符集
<span>| <span>[<span>DEFAULT<span>] COLLATE <span>[<span>=<span>] collationname #specifies the default database collation (排序规则)例如:创建@R301_6250@并指定字符集  <span>create <span>database db2 <span>default character set=utf8

备注:@R_301_6250@的字符集存储在数据库目录下的db.opt文件中,我们可通过  find / -name db.opt  查找并用less 查看相关db.opt文件如下

二:关于  CHaraCTER SET  和   COLLATE 

三:查看相关字符集

3.1 :查看MysqL@R_301_6250@服务器和@R_301_6250@字符集   

方法一:show variables aracter%方法二:show variables ;

3.2 :查看表的字符集(show table status from 库名 like  表名)

show status test3 ;

3.4 :查看表中所有列的字符集(show full columns from 表名;)

show full columns from test3.students;

注意:数值型的列没有 collation特性

四:修改相关的字符集

4.1.创建时指定字符集

db2 aracter test1(id (),name ()) aracter ;

4.2修改相关字符集

修改全局字符集 character_set_connection301_6250@的编码 character_set_database character_set_results301_6250@服务器的编码 character_set_server<span>set character_set_system<span>=<span>utf8;

<span>set collation_connection<span>=<span>utf8;

<span>set collation_database<span>=<span>utf8;

<span>set collation_server<span>=utf8;

4.3 修改库的字符集(alter database 库名 default character set 字符集;)

MysqL show . row : `shiyan` araCTER SET utf8 row (MysqL<span>> <span>alter <span>database shiyan <span>default <span>character <span>set<span> gbk;
Query OK,<span>1 row affected (<span>0.00 sec)

4.4修改表字符集(alter table 表名 convert to character set 字符集;)

Highlighter"> show create table test1\G *************************** 1. row *************************** Table: test1 Create Table: CREATE TABLE `test1` ( `id` int(6) DEFAULT NULL,`name` char(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=gbk #原字符集 1 row in set (0.00 sec)

MysqL> alter table test1 convert to character set utf8;
Query OK,0 rows affected (0.58 sec)
Records: 0 Duplicates: 0 Warnings: 0

MysqL> show create table test1\G
1. row
Table: test1
Create Table: CREATE TABLE test1 (
id int(6) DEFAULT NULL,name char(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 #修改后的字符集
1 row in set (0.00 sec)

 4.5修改字段的字符集(alter table 表名 modify 字段名 字段属性 character set gbk;)

test1 modify name () aracter gbk;

五:案例分析

  当我们不知道因和原因创建的一个表(teacher),当我们向表中插入数据是发生乱码如下

  sql : INSERT INTO teacher(tid,class_id,NAME)VALUE(312,2,'小明');

  

  

###MySQL 数据库DataBase

###MySQL 数据库DataBase

###MySQL  数据库DataBase
 1.持久化存储数据,其实数据库就是一个文件系统
 2.方便存储和管理数据
 3.使用了统一的方式操作数据库--sql
 
  mysql -uroot -proot
  卸载
  必须卸载干净
  找到安装目录中的my.ini  配置文件
  datadir="c:/ProgramData/MySQL/MySQL Server 5.5/Data/"
  卸载软件后
  上述路径存放着数据文件,也要删除干净
  
  查看服务---cmd右键以管理员身份打开cmd,
  cmd   ---services.msc
  停止数据库---net stop mysql
  启动--net start mysql   mysql是服务名称,不一定一样
  
  登录 mysql -uroot -proot
    或者mysql -uroot -p回车输入密码
    远程连接数据库-hip
    mysql -h127.0.0.1 -uroot -p回车
  退出exit
  或者quit
  
  2.2.7.22
  DML-增删改表中数据
  DQL-查询表中的记录‘select * from 表名;
  1.语法:
    select
        字段列名
    from
        表名列表
    where
        条件列表
    group by
        分组字段
    having
        分组之后的条件
    order by
        排序  
    limit
        分页限定          
  2.基础查询                  
== 查询 姓名 和 年龄
    SELECT NAME,AGE FROM student;     
== 去除重复的结果集
    SELECT DISTINCT address FROM student;
== 计算math和english分数之和
    SELECT NAME,math,english,math + english FROM student;
-- 如果有null 参与的运算,计算结果都为null
    SELECT NAME,math,english,math + IFNULL(english,0) FROM student;
== 起别名
    SELECT NAME,math,english,math + IFNULL(english,0) AS 总分 FROM student;
        SELECT NAME,math 数学,english 英语,math + IFNULL(english,0) 总分 FROM student;

  

5.13Mysql 数据库 Database

5.13Mysql 数据库 Database

数据库的基本概念

   1. 什么是数据库:

    用于存储和管理数据的仓库。

   2. 数据库的特点:

    1. 持久化存储数据的。其实数据库就是一个文件系统。

    2. 方便存储和管理数据

    3. 使用了统一的方式操作数据库 ---sql

 MySQL 目录结构

    1. 安装目录 basedir 配置文件 my.ini

    2. 数据目录 datadir【数据库:文件夹 --- 表:文件 --- 数据:数据】

 SQL:

     1. 什么是 SQL:Structured Query Language:结构化查询语言。其实就是定义了操作关系型数据库的规则。每一种数据库操作的方式在不一样的地方,成为方言。

     2.SQL 通用语法

      1. SQL 语句可以单行或多行书写,以分号结尾。

              2. 可使用空格和缩进来增强语句的可读性。

              3. MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。

              4. 3 种注释

                  * 单行注释: -- 注释内容 或 # 注释内容 (mysql 特有)

                  * 多行注释: /* 注释 */

    

        3. SQL 分类

            1) DDL (Data Definition Language) 数据定义语言

                  用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等

            2) DML (Data Manipulation Language) 数据操作语言

                  用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等

            3) DQL (Data Query Language) 数据查询语言 - 用来查询数据库中表的记录 (数据)。关键字:select, where 等

   

      4) DCL (Data Control Language) 数据控制语言 (了解)

                  用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT,REVOKE 等

  

    DDL

      1. 操作数据库 CRUD

      C(create)创建:【create database 数据库名】【create database if not exists 数据库名称】【create database 数据库名称 character set 字符集名】【create database if not exists db4 character set gbk】

      R (Reterieve) 查询【show databases】【show create database 数据库名称】

      U (Update) 修改【alter database 数据库名称 charcter set 字符集名称】

      D (Delete 删除)【drop database 数据库名称】【drop database if exists 数据库名称】

      - 使用数据库【select database ()】【use 数据库名称】

    

     2. 操作表

      C (create) 创建

        语法:create table 表名 (age int ,score double(5,2)列明 1 数据类型 1,列明 2 数据类型 2.。。。);

           

        * 注意:最后一列,不需要加逗号(,)

                    * 数据库类型:

                       1. int:整数类型

                           * age int,

                       2. double: 小数类型

                           * score double(5,2)

                       3. date: 日期,只包含年月日,yyyy-MM-dd

                       4. datetime: 日期,包含年月日时分秒  yyyy-MM-dd HH:mm:ss

                       5. timestamp: 时间错类型 包含年月日时分秒    yyyy-MM-dd HH:mm:ss   

                           * 如果将来不给这个字段赋值,或赋值为 null,则默认使用当前的系统时间,来自动赋值

 

                       6. varchar:字符串

                           * name varchar (20): 姓名最大 20 个字符

                           * zhangsan 8 个字符  张三 2 个字符

         创建表 create table student (id int,name varchar (32),age int,score double (4,1),birthday date,insert_time timestamp);

         复制表:create table 表名 like 被复制的表名;

          show tables; 查询某个数据库中所有的表名称。show 表名;查询表结构。   

 

android – SQLiteDatabase.openDatabase vs SQLiteOpenHelper.getReadableDatabase

android – SQLiteDatabase.openDatabase vs SQLiteOpenHelper.getReadableDatabase

这两种方法有什么区别吗?两者都返回一个打开的sqlite Database.如果不存在,则两者都可以创建数据库.当需要读/写时,sqliteOpenHelper也有getWriteableDatabase …

我应该使用哪种方法?基于我见过的示例代码,我首先使用sqliteOpenHelper创建数据库,但在需要使用数据库时调用sqliteDatabase.openDatabase.

解决方法

openDatabase()更灵活,允许您指定区域设置等,但在大多数情况下,您不需要显式提供这些详细信息,Android documentation说使用getReadableDatabase()和getWriteableDatabase().

app.config['SQLALCHEMY_DATABASE_URI'] = f'sqlite:///{DB_NAME}' SyntaxError: Invalid Syntax

app.config['SQLALCHEMY_DATABASE_URI'] = f'sqlite:///{DB_NAME}' SyntaxError: Invalid Syntax

如何解决app.config[''SQLALCHEMY_DATABASE_URI''] = f''sqlite:///{DB_NAME}'' SyntaxError: Invalid Syntax?

from flask import Flask
from flask_sqlalchemy import sqlAlchemy
from os import path
from flask_login import LoginManager

db = sqlAlchemy()
DB_NAME = "database.db"


def create_app():
    app = Flask(__name__)
    app.config[''SECRET_KEY''] = "YouDontGetTheKey"
    app.config[''sqlALCHEMY_DATABASE_URI''] = f''sqlite:///{DB_NAME}''
    db.init_app(app)

    from .views import views
    from .auth import auth

    app.register_blueprint(views,url_prefix="/")
    app.register_blueprint(auth,url_prefix="/")

    from .models import User,Post,Comment,Like

    create_database(app)

    login_manager = LoginManager()
    login_manager.login_view = "auth.login"
    login_manager.init_app(app)

    @login_manager.user_loader
    def load_user(id):
        return User.query.get(int(id))

    return app


def create_database(app):
    if not path.exists("website/" + DB_NAME):
        db.create_all(app=app)
        print("Created database!")

我在第 13 行遇到语法错误:

app.config[''sqlALCHEMY_DATABASE_URI''] = f''sqlite:///{DB_NAME}''

它在最后一个'',我不知道如何解决这个问题

(这是来自 TechWithTim 教程)我查看了我的代码并将该行与 og 进行了比较,它适用于 TechWithTim 但不适用于我。我正在使用 glitch.com 网站,所以我不知道是该网站还是我的代码中的错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

今天关于mysql之CREATE DATABASE Syntax(创建数据库)mysql创建新数据库怎么创建的讲解已经结束,谢谢您的阅读,如果想了解更多关于###MySQL 数据库DataBase、5.13Mysql 数据库 Database、android – SQLiteDatabase.openDatabase vs SQLiteOpenHelper.getReadableDatabase、app.config['SQLALCHEMY_DATABASE_URI'] = f'sqlite:///{DB_NAME}' SyntaxError: Invalid Syntax的相关知识,请在本站搜索。

本文标签: