一、数据库
1.创建数据库
使用CREATE命令可以创建一个数据库。
CREATE DATABASE <数据库名>
[[DEFAULT] CHARACTER SET <字符集名>]
[DEFAULT] COLLATE <校对准则名>];
--DEFAULT:指定默认值
--CHARACTER SET:指定数据库字符集(charset),其后的字符集名要用MySQL具体支持的字符集名称代替,如utf-8
--COLLATE:指定字符集的校对规则,其后的校对规则名要用MySQL具体支持的字符集名称代替,如gb2312_chinese_ci
例如:
创建一个名为Bookstore的数据库,字符集为gb2312,校对规则为gb2312_chinese_ci
CREATE DATABASE bookstore
DEFAULT CHARACTER SET gb2312
COLLATE gb2312_chinese_ci;
2.管理数据库
1).指定当前数据库
在创建了数据库以后,使用USE命令可以将其指定为当前数据库。
USE <数据库名>;
这个语句可以用来从一个数据库“跳转”到另一个数据库,在用 CREATE DATABASE 语句创建了数据库以后,该数据库不会自动成为当前数据库,需要用 USE 语句来制定。
2).修改数据库
数据库创建后,如果需要修改数据库的参数,可以使用 ALTER DATABASE 命令。
ALTER DATABASE <数据库名>
[[DEFAULT] CHARACTER SET <字符集名>]
[DEFAULT] COLLATE <校对准则名>];
ALTER DATABASE 用于更改数据库的全局特性,这些特性存储在数据库目录的db.opt文件内。
用户必须有对数据库进行修改的权限,才可以使用 ALTER DATABASE命令。
例如:
修改数据库Petstore,字符集为utf8mb4,校对规则为utf8mb4_0900_ai_ci。
ALTER DATABASE petstore
DEFAULT CHARACTER SET utf8mb4
COLLATE uft8mb4_0900_ai_ci;
3).删除数据库
如果需要删除已经创建的数据库,可以使用 DROP DATABASE 命令。
DROP DATABASE <数据库名>;
4).显示数据库
如果需要显示已经创建的数据库,可以使用 SHOW DATABASE 命令。
SHOW DATABASE;
二、数据库表
1.创建表
使用 CREATE TABLE 命令可以创建表。
CREATE TABLE <表名>(
<列名> <数据类型> [NOT NULL | NULL] [DEFAULT <列默认值>]
...
PRIMARY KEY (<主键列>)
)ENGINE = <存储类型>;
-<表名> :要创建的表的名称。如果有MySQL关键字(保留字),必须用单引号引起来。
-<列名>:表中列的名字,长度不能超过64字符。如果有MySQL关键字(保留字),必须用单引号引起来。
-<数据类型>:列的数据类型,有的数据类型需要指明长度n并用括号括起来。
-NULL | NOT NULL:指定列是否允许为空。如不指定,则默认为NULL。
-DEFUALT <列默认值>:为列指定默认值,默认值必须为一个常数。如果列可以取NULL值,那么默认值就是NULL。如果列被声明为 NOT NULL ,则默认值取决于列类型。
-ENGINE = <存储引擎>:MySQL 支持多个存储引擎,可为不同表设定不同的存储引擎,使用是要用具体的存储引擎名称代替,如 ENGINE = InnoDB。InnoDB是MySQL8.0在Windows平台的默认存储引擎,所以 “ENGINE = InnoDB” 可以省略。
-PRIMARY KEY (<主键列>):使用 PRIMARY KEY ,可以将括号内的字段定义为主键。
例子
CREATE TABLE Store(
id char(10) NOT NULL,
bookname varchar(20) NOT NULL DEFAULT 'bookname',
PRIMARY KEY (id)
);
2.管理数据库表
1).修改表结构
ALTER TABLE 命令可以用于更改原有表的结构。
ALTER TABLE <要修改的表名>
ADD [COLUMN] <列名> <数据类型> [NOT NULL | NULL] [DEFAULT <列默认值>] /*添加列*/
ALTER [COLUMN] <列名> {SET DEFAULT <默认值> | DROP DEFAULT} /*修改默认值*/
CHANGE [COLUMN] <旧列名> <新列名> {NULL | NOT NULL} /*重命名列*/
MODIFY [COLUMN] <列名> <新的数据类型> {NULL | NOT NULL} /*修改列类型*/
DROP [COLUMN] <列名> /*删除列*/
RENAME [to] <新表名> /*重命名表*/
例子1
在数据库Bookstore 中已经创建了表book,表中存在“bookname”列。在表book中增加“viewtimes”列,并将表中的“bookname”列删除。
USE Bookstore;
ALTER TABLE book
ADD viewtimes tinyint null,
DORP COLUMN bookname;
例子2
在数据库Bookstore 中已经创建了表book,将表book重名为mybook。
USE Bookstore;
ALTER TABLE book
RENAME TO mybook;
修改表名除了可以用ALTER TABLE 命令,还可以直接用RENAME TABLE 语句来实现。
RENAME TABLE <旧表名> <新表名>;
例子3
在数据库Bookstore 中已经存在表mybook 和 members ,将表 mybook 重命名为booklist,将表members 重命名为 memberlist。
USE Bookstore;
RENAME TABLE mybook TO booklist,
members TO memberlist;
2).复制表
当需要建立的数据库表与已有的数据库结构相同时,可以通过复制表的结构与数据的方法新建数据库表。
CREATE TABLES <新表名> [LIKE <被复制的表名>] [AS (select语句)]
例子1
数据库Bookstore中有一个表book,创建book表的一个名为book_copy1的副本
CREATE TABLE book_copy1 LIKE book;
例子2
数据库Bookstore中有一个表book,创建book表的一个名为book_copy2的副本,并复制其内容。
CREATE TABLE book_copy2
AS
(SELECT * FROM book)
3).删除表
需要删除一个表时,可以用DROP TABLE语句。
DROP TABLE <表名1> <表名2> ...
版权归原作者 辑录天奇 所有, 如有侵权,请联系我们删除。