mysql命令创建数据库(mysql中创建数据库命令是)
其实mysql命令创建数据库的问题并不复杂,但是又很多的朋友都不太了解mysql中创建数据库命令是,因此呢,今天小编就来为大家分享mysql命令创建数据库的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
mysql中创建数据库命令是
CREATE TABLE语句的主要语法及使用说明如下:
CREATE TABLE:用于创建给定名称的表,必须拥有表CREATE的权限。
<表名>:指定要创建表的名称,在 CREATE TABLE之后给出,必须符合标识符命名规则。表名称被指定为 db_name.tbl_name,以便在特定的数据库中创建表。无论是否有当前数据库,都可以通过这种方式创建。在当前数据库中创建表时,可以省略 db-name。如果使用加引号的识别名,则应对数据库和表名称分别加引号。例如,'mydb'.'mytbl'是合法的,但'mydb.mytbl'不合法。
<表定义选项>:表创建定义,由列名(col_name)、列的定义(column_definition)以及可能的空值说明、完整性约束或表索引组成。
默认的情况是,表被创建到当前的数据库中。若表已存在、没有当前数据库或者数据库不存在,则会出现错误。
mysql> USE test_db;
Database changed
mysql> CREATE TABLE tb_emp1
->(
-> id INT(11),
-> name VARCHAR(25),
-> deptId INT(11),
-> salary FLOAT
->);
Query OK, 0 rows affected(0.37 sec)
MySQL创建数据库的命令、创建表的命令、插入语句的命令
1.创建数据库
CREATE DATABASE IF NOT EXISTS RUNOOB DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#如果数据库不存在则创建,存在则不创建
#创建RUNOOB数据库,设定编码为utf8
2.删除数据库
drop database RUNOOB;
3.选择数据库
use RUNOOB;
#使用数据库RUNOOB
4.数据类型
5.创建数据表
CREATE TABLE table_name(column_name column_type, column_name2 column_type2);
<etc>
CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY( `runoob_id`)#主键
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
来自<http://www.runoob.com/mysql/mysql-create-tables.html>
</etc>
#表明、字段名字外面的符号是反引号,为了区分mysql关键字和普通字符
6.删数据表
DROP TABLE table_name;
#删除表内数据
delete from表明 where runoob_title=“exam”;
#清除表内数据,保留表结构
truncate table表名;
#删除后立刻释放磁盘空间
optimize table表名;
7.增插入数据到表
INSERT INTO table_name( field1,field2,…) VALUES( value1,value2,"value"…);
#字符类型,value需要使用单/双引号。
通过SQL语句使用什么命令创建数据库
CREATE DATABASE为SQl语句,用于创建数据库。
语法
CREATE DATABASEdatabase_name
[ ON
[< filespec> [,...n] ]
[,< filegroup> [,...n] ]
]
[ LOG ON{< filespec> [,...n]} ]
[ COLLATEcollation_name]
[ FOR LOAD| FOR ATTACH ]
< filespec>::=
[ PRIMARY ]
([ NAME=logical_file_name,]
FILENAME='os_file_name'
[,SIZE=size]
[,MAXSIZE={max_size| UNLIMITED} ]
[,FILEGROWTH=growth_increment])[,...n]
< filegroup>::=
FILEGROUPfilegroup_name< filespec> [,...n]
参数
database_name
新数据库的名称。数据库名称在服务器中必须唯一,并且符合标识符的规则。database_name最多可以包含 128个字符,除非没有为日志指定逻辑名。如果没有指定日志文件的逻辑名,则 Microsoft® SQL Server™会通过向database_name追加后缀来生成逻辑名。该操作要求database_name在 123个字符之内,以便生成的日志文件逻辑名少于 128个字符。
ON
指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。该关键字后跟以逗号分隔的<filespec>项列表,<filespec>项用以定义主文件组的数据文件。主文件组的文件列表后可跟以逗号分隔的<filegroup>项列表(可选),<filegroup>项用以定义用户文件组及其文件。
n
占位符,表示可以为新数据库指定多个文件。
LOG ON
指定显式定义用来存储数据库日志的磁盘文件(日志文件)。该关键字后跟以逗号分隔的<filespec>项列表,<filespec>项用以定义日志文件。如果没有指定 LOG ON,将自动创建一个日志文件,该文件使用系统生成的名称,大小为数据库中所有数据文件总大小的 25%。
FOR LOAD
支持该子句是为了与早期版本的 Microsoft SQL Server兼容。数据库在打开dbo use only数据库选项的情况下创建,并且将其状态设置为正在装载。SQL Server 7.0版中不需要该子句,因为 RESTORE语句可以作为还原操作的一部分重新创建数据库。
FOR ATTACH
指定从现有的一组操作系统文件中附加数据库。必须有指定第一个主文件的<filespec>条目。至于其它<filespec>条目,只需要与第一次创建数据库或上一次附加数据库时路径不同的文件的那些条目。必须为这些文件指定<filespec>条目。
附加的数据库必须使用与 SQL Server相同的代码页和排序次序创建。应使用sp_attach_db系统存储过程,而不要直接使用 CREATE DATABASE FOR ATTACH。只有必须指定 16个以上的<filespec>项目时,才需要使用 CREATE DATABASE FOR ATTACH。
如果将数据库附加到的服务器不是该数据库从中分离的服务器,并且启用了分离的数据库以进行复制,则应该运行sp_removedbreplication从数据库删除复制。
collation_name
指定数据库的默认排序规则。排序规则名称既可以是 Windows排序规则名称,也可以是 SQL排序规则名称。如果没有指定排序规则,则将 SQL Server实例的默认排序规则指派为数据库的排序规则。
有关 Windows和 SQL排序规则名称的更多信息,请参见COLLATE。
PRIMARY
指定关联的<filespec>列表定义主文件。主文件组包含所有数据库系统表。还包含所有未指派给用户文件组的对象。主文件组的第一个<filespec>条目成为主文件,该文件包含数据库的逻辑起点及其系统表。一个数据库只能有一个主文件。如果没有指定 PRIMARY,那么 CREATE DATABASE语句中列出的第一个文件将成为主文件。
NAME
为由<filespec>定义的文件指定逻辑名称。如果指定了 FOR ATTACH,则不需要指定 NAME参数。
logical_file_name
用来在创建数据库后执行的 Transact-SQL语句中引用文件的名称。logical_file_name在数据库中必须唯一,并且符合标识符的规则。该名称可以是字符或 Unicode常量,也可以是常规标识符或定界标识符。
FILENAME
为<filespec>定义的文件指定操作系统文件名。
'os_file_name'
操作系统创建<filespec>定义的物理文件时使用的路径名和文件名。os_file_name中的路径必须指定 SQL Server实例上的目录。os_file_name不能指定压缩文件系统中的目录。
如果文件在原始分区上创建,则os_file_name必须只指定现有原始分区的驱动器字母。每个原始分区上只能创建一个文件。原始分区上的文件不会自动增长;因此,os_file_name指定原始分区时,不需要指定 MAXSIZE和 FILEGROWTH参数。
SIZE
指定<filespec>中定义的文件的大小。如果主文件的<filespec>中没有提供 SIZE参数,那么 SQL Server将使用model数据库中的主文件大小。如果次要文件或日志文件的<filespec>中没有指定 SIZE参数,则 SQL Server将使文件大小为 1 MB。
size
<filespec>中定义的文件的初始大小。可以使用千字节(KB)、兆字节(MB)、千兆字节(GB)或兆兆字节(TB)后缀。默认值为 MB。指定一个整数,不要包含小数位。size的最小值为 512 KB。如果没有指定size,则默认值为 1 MB。为主文件指定的大小至少应与model数据库的主文件大小相同。
MAXSIZE
指定<filespec>中定义的文件可以增长到的最大大小。
max_size
<filespec>中定义的文件可以增长到的最大大小。可以使用千字节(KB)、兆字节(MB)、千兆字节(GB)或兆兆字节(TB)后缀。默认值为 MB。指定一个整数,不要包含小数位。如果没有指定max_size,那么文件将增长到磁盘变满为止
说明在磁盘即将变满时,Microsoft Windows NT® S/B系统日志会警告 SQL Server系统管理员。
UNLIMITED
指定<filespec>中定义的文件将增长到磁盘变满为止。
FILEGROWTH
指定<filespec>中定义的文件的增长增量。文件的 FILEGROWTH设置不能超过 MAXSIZE设置。
growth_increment
每次需要新的空间时为文件添加的空间大小。指定一个整数,不要包含小数位。0值表示不增长。该值可以 MB、KB、GB、TB或百分比(%)为单位指定。如果未在数量后面指定 MB、KB或%,则默认值为 MB。如果指定%,则增量大小为发生增长时文件大小的指定百分比。
如果没有指定 FILEGROWTH,则默认值为 10%,最小值为 64 KB。指定的大小舍入为最接近的 64 KB的倍数。
扩展资料
组成
在正式学习SQL语言之前,首先让我们对SQL语言有一个基本认识,介绍一下SQL语言的组成:
1、一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。
2、一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。
3、一个表或者是一个基本表或者是一个视图。基本表是实际存储在数据库的表,而视图是由若干基本表或其他视图构成的表的定义。
4、一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。每个存储文件与外部存储上一个物理文件对应。
5、用户可以用SQL语句对视图和基本表进行查询等操作。在用户角度来看,视图和基本表是一样的,没有区别,都是关系(表格)。
6、SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使用,宿主语言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada语言等。SQL用户也能作为独立的用户接口,供交互环境下的终端用户使用。
参考资料来源:百度百科-SQL数据库
参考资料来源:百度百科-Create Database
如何在命令行创建一个MySQL数据库
第一步:安装MySQL客户端
当然你得确保MySQL客户端已经安装完毕。如果没有的话,可以按照下面的方法。
在Debian,Ubuntu或者 Linux Mint上:
$ sudo apt-get install mysql-client
$ sudo apt-get install mysql
第二步:登陆到MySQL服务器
首先,你需要使用root用户登陆进你的MySQL数据库,如下:
$ mysql-u root-h-p
请注意:为了能登进远程的MySQL服务器,你需要开启服务器上的远程访问,如果你想调用同一主机上的MySQL服务器,你可以省略"-h"参数
$ mysql-u root-p
你将需要输入MySQL服务器的密码,如果认证成功,MySQL提示将会出现。
第三步:创建一个MySQL数据库
在MySQL提示中输入命令之前,请记住所有的命令都是以分号结束的(否则将不会执行)。另外,考虑输入命令的时候使用大些字母,输入数据库对象使用小写字母。但那不是必须的,只是方便的阅读。
现在,创建一个叫做xmodulo_DB的数据库:
mysql> CREATE DATABASE IF NOT EXISTS xmodulo_DB;
第四步:创建一个数据库表
为了达到演示的目的,创建一个叫做posts_tbl的表,表里会存储关于文章的如下信息:
文章的标题
作者的名字
作者的姓
文章可用或者不可用
文章创建的日期
这个过程分两步执行:
首先,选择需要使用的数据库:
mysql> USE xmodulo_DB;
然后,在数据库中创建新表:
mysql> CREATE TABLE'posts_tbl'(
'post_id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'content' TEXT,
'author_FirstName' VARCHAR(100) NOT NULL,
'author_LastName' VARCHAR(50) DEFAULT NULL,
'isEnabled' TINYINT(1) NOT NULL DEFAULT 1,
'date' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY('post_id')
TYPE= MYISAM;
第五步:创建一个用户,并授予权限
当涉及到访问新创的数据库和表的时候,创建一个新用户是一个很好的主意。这样做就可以让用户在没有整个MySQL服务器权限的情况下,去访问那个数据库(而且只能是那个数据库)
你可以创建新用户,授予权限,并且使改变生效:
mysql> GRANT ALL PRIVILEGES ON xmodulo_DB.* TO'new_user'@'%' IDENTIFIED
BY'new_password';
mysql> FLUSH PRIVILEGES;
'newuser'和'newpassword'分别指的是新的用户名和他的密码。这条信息将会被保存在mysql.user表中,而且密码会被加密。
第六步:测试
先插入一个虚拟的记录到posts_tbl表:
mysql> USE xmodulo_DB;
mysql> INSERT INTO posts_tbl(content, author_FirstName, author_Las
tName)
VALUES('Hi! This is some dummy text.','Gabriel','Canepa');
然后查看posts_tbl表中的所有记录:
mysql> SELECT* FROM posts_tbl;
注意:MySQL会在先前定义的地方自动插入适当的默认值(比如,'isEnabled'和'date')。
好了,文章到此结束,希望可以帮助到大家。