MySQL学习(1)SQL通用语法之DDL

  DDL 数据库定义语言

        1 数据库操作

        1). 查询所有数据库
                show databases ;

        2). 查询当前数据库 

                select database() ;

        3). 创建数据库

                create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序 规则 ] ;

        4). 删除数据库

                drop database [ if exists ] 数据库名 ;

        5). 切换数据库

                use 数据库名 ;

        2 表操作

        1). 查询当前数据库所有表

                show tables;

        2). 查看指定表结构

                desc 表名 ;

        3). 查询指定表的建表语句

                show create table 表名 ;

        4). 创建表结构

                CREATE TABLE 表名( 字段1 字段1类型 [ COMMENT 字段1注释 ], 字段2 字段2类型 [COMMENT 字段2注释 ], 字段3 字段3类型 [COMMENT 字段3注释 ], ...... 字段n 字段n类型 [COMMENT 字段n注释 ] ) [ COMMENT 表注释 ] ;

                注意:[]内的内容为可选参数,不是必须。

        3 数据类型

                3.1 数值类型

        

3.2 字符串类型

3.3 日期时间类型

        4 表修改

        1). 添加字段

                ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];

        2). 修改数据类型

                ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);

        3). 修改字段名和字段类型

                ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 (长度) [ COMMENT 注释 ]

                [ 约束 ];

        4). 删除字段

                ALTER TABLE 表名 DROP 字段名;

        5). 修改表名

                ALTER TABLE 表名 RENAME TO 新表名;

        6). 删除表

                DROP TABLE [ IF EXISTS ] 表名;

        7). 删除指定表, 并重新创建表

                TRUNCATE TABLE 表名;

                

        

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SQL Server DDL 字符串转换为 MySQL DDL 语言脚本需要进行以下步骤: 1. 将 SQL Server 数据类型转换为 MySQL 数据类型,例如将 `nvarchar` 转换为 `varchar`,将 `datetime` 转换为 `timestamp`。 2. 将 SQL Server 的方括号语法 `[]` 转换为 MySQL 的反引号语法 ````。 3. 将 SQL Server 的默认值语法 `default 'value'` 转换为 MySQL 的默认值语法 `default value`,例如将 `default ''` 转换为 `default null`。 4. 将 SQL Server 的主键约束语法 `primary key clustered` 转换为 MySQL 的主键约束语法 `primary key`。 5. 将 SQL Server 的外键约束语法 `foreign key references` 转换为 MySQL 的外键约束语法 `foreign key references`。 下面是一个示例 SQL Server DDL 字符串转换为 MySQL DDL 语言脚本的 Python 代码: ```python def sqlserver_to_mysql(sql): # 将 nvarchar 转换为 varchar sql = sql.replace('nvarchar', 'varchar') # 将 datetime 转换为 timestamp sql = sql.replace('datetime', 'timestamp') # 将 SQL Server 的方括号语法 [] 转换为 MySQL 的反引号语法 `` sql = sql.replace('[', '`').replace(']', '`') # 将 default 'value' 转换为 default value sql = re.sub(r"default\s*'\s*(.*?)\s*'", r"default \1", sql) # 将 primary key clustered 转换为 primary key sql = sql.replace('primary key clustered', 'primary key') # 将 foreign key references 转换为 foreign key references sql = sql.replace('foreign key references', 'foreign key references') return sql ``` 使用该函数将 SQL Server DDL 字符串转换为 MySQL DDL 语言脚本: ```python sqlserver_ddl = ''' CREATE TABLE [dbo].[Test] ( [Id] INT NOT NULL PRIMARY KEY CLUSTERED, [Name] NVARCHAR(50) NOT NULL, [CreateTime] DATETIME NOT NULL DEFAULT GETDATE(), [ParentId] INT NULL, CONSTRAINT [FK_Test_ParentId] FOREIGN KEY ([ParentId]) REFERENCES [dbo].[Test] ([Id]) ); ''' mysql_ddl = sqlserver_to_mysql(sqlserver_ddl) print(mysql_ddl) ``` 输出的 MySQL DDL 语言脚本如下: ```sql CREATE TABLE `dbo`.`Test` ( `Id` INT NOT NULL PRIMARY KEY, `Name` VARCHAR(50) NOT NULL, `CreateTime` TIMESTAMP NOT NULL DEFAULT GETDATE(), `ParentId` INT NULL, CONSTRAINT `FK_Test_ParentId` FOREIGN KEY (`ParentId`) REFERENCES `dbo`.`Test` (`Id`) ); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值