目录
1.选择数据库 USE
刚链接到MySQL
时,没有数据库打开供你使用,而我们需要选择一个数据库,才能进行以下的操作。
方法:USE语句
USE Mdatabase;
如此,才能打开数据库,读取其中的数据
2.显示信息 SHOW
MySQL从内部表中提取信息
SHOW database;
返回可用数据库的一个列表
SHOW tables;
返回数据库内的表的列表
SHOW columns from table;
显示表列
3.创建表 CREATE TABLE
基本语法:
//by LMY CREATE DATABASE 数据库名; /*创建数据库*/ USE 数据库名; /*连接数据库*/ CREATE TABLE 表名1 ( 列名1 数据类型 要求, 列名2 数据类型 要求, 列名3 数据类型 要求, ....... PRIMARY KEY (主键) /*注意,此处没有逗号*/ );
以我的数据库作业作为栗子:
(环境,MySQL workbench
)
要求:
创建一个名为”my_own_movie_database
“的数据库,之后,建如下几个表,之后把相应输入插入
首先,打开workbench
,添加一个新的SQL
文件
之后,在新的文件中写入sql
语句
写入相应sql
语句,写完,你会在左侧发现,有了一个新的数据库,点进去,还可以看到你建的表
完整代码如下:
drop database if exists `my_own_movie_database`; create database `my_own_movie_database`; USE `my_own_movie_database`; CREATE TABLE `movieexec` ( `name` char(30) DEFAULT NULL, `address` varchar(100) DEFAULT NULL, `cert` int(11) NOT NULL DEFAULT '0 ', `netWorth` int(11) DEFAULT NULL, PRIMARY KEY (`cert`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; # # Data for table "movieexec" # INSERT INTO `movieexec` VALUES ('Calvin Coolidge','Fast Lane',123,20000000),('Merv Griffin','Riot Rd.',199,112000000),('Stephen Spielberg','123 ET road',222,100000000),('Ted Turner','Turner Av.',333,125000000),('George Lucas','Oak Rd.',555,200000000),('Jane Fonda','Turner Av.',567,200000000); # # Source for table "movies" # CREATE TABLE `studio` ( `name` char(30) NOT NULL DEFAULT '', `address` varchar(100) DEFAULT NULL, `presC` int(11) DEFAULT NULL, PRIMARY KEY (`name`) ) ; # # Data for table "studio" # INSERT INTO `studio` VALUES ('MGM','MGM Boulevard',123),('Fox','Fox Boulevard',199),('Disney','Disney Boulevard',222),('USA Entertainm','USA Entertainm Boulevard',333),('Paramount','Paramount Boulevard',555); CREATE TABLE `movies` ( `title` char(100) NOT NULL DEFAULT '', `year` int(11) NOT NULL DEFAULT '0', `length` int(11) DEFAULT NULL, `movieType` char(10) DEFAULT NULL, `studioName` char(30) , `producerC` int(11) DEFAULT NULL, PRIMARY KEY (`title`,`year`), foreign key(studioName) references studio(name) on delete cascade ) ; # # Data for table "movies" # INSERT INTO `movies` VALUES ('Empire Strikes Back',1980,111,'drama','Fox',555),('Gone With the Wind',1938,null,'drama','MGM',123),('Logan\'s run',1977,120,'drama','MGM',888),('Pretty Woman',1990,119,'drama','Disney',999),('Star Trek',1979,132,'sciFic','Paramount',444),('Star Trek: Nemesis',2002,116,'sciFic','Paramount',321),('Star Wars',1977,124,'sciFic','Fox',555),('Terms of Endearment',1983,132,'drama','MGM',123),('The Man Who Wasn't There',2001,116,'comedy','USA Entertainm',777),('The Usual Suspects',1995,106,'drama','MGM',999); # # Source for table "moviestar" # CREATE TABLE `moviestar` ( `name` char(30) NOT NULL DEFAULT '', `address` varchar(255) DEFAULT NULL, `gender` char(1) DEFAULT NULL, `birthdate` date DEFAULT NULL, PRIMARY KEY (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; # # Data for table "moviestar" # INSERT INTO `moviestar` VALUES ('Alec Baldwin','Baldwin Av.','M','1977-06-07'),('Debra Winger','A way','F','1978-05-06'),('Harrison Ford','Prefect Rd.','M','1955-05-05'),('Jack Nicholson''s','X path','M','1949-05-05'),('Jane Fonda','Turner Av.','F','1977-07-07'); # # Source for table "starsin" # CREATE TABLE `starsin` ( `movieTitle` char(100) NOT NULL DEFAULT '', `movieYear` int(11) NOT NULL DEFAULT '0', `starName` char(30) NOT NULL DEFAULT '', PRIMARY KEY (`movieTitle`,`movieYear`,`starName`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; # # Data for table "starsin" # INSERT INTO `starsin` VALUES ('Empire Strikes Back',1980,'Harrison Ford'),('Star Wars',1977,'Carrie Fisher'),('Star Wars',1977,'Harrison Ford'),('Star Wars',1977,'Mark Hamill'),('Terms of Endearment',1983,'Debra Winger'),('Terms of Endearment',1983,'Jack Nicholson'),('The Usual Suspects',1995,'Kevin Spacey'); # # Source for table "studio" #
4.插入数据 INSERT
基本写法:
INSERT INTO 表名1 VALUES (数据1,数据2,数据3.....),(数据1,数据2......)....;
最后,运行,快捷键:Ctrl +Shift+Enter
(这个地方我愣是到这门课都快学完了,才知道怎么运行…哭死了,前半学期装不上软件,后半学期天天迷为什么建不了表…)
建完表之后,可以看到,表中的内容