文档库 最新最全的文档下载
当前位置:文档库 › 如何用MySQL创建数据库和数据库表

如何用MySQL创建数据库和数据库表

如何用MySQL创建数据库和数据库表
如何用MySQL创建数据库和数据库表

用 MySQL 创建数据库和数据库表
Show databases; 显示所有数据库 Create database shanks; 创建数据库,名字叫 shanks Use shanks; 进入到数据库 shanks Show tables; 显示数据库中的所有表 create table xcw ( 创建数据表 xcw session_id bigint(20), lac_id varchar(5), cell_id varchar(5), stime datetime, duration int(11), down float, up float ); Describe xcw; 显示数据表 xcw 中所有细节 select lac,cid into outfile 'F:\guizhou_data\data.txt' fields terminated by '\t' lines terminated by '\n' from xcw; 从数据表中导出部分数据 load data local infile "F:\\guizhou_data\\data1.txt" into table xu1 fields terminated by ' '; 导入数据 select * from xcw; 查看 xcw 数据表中的数据 select * from xcw where lac>=1098 and lac<=2932 and cid>=333 and cid<=444; 精确检索; Select * from xcw where lac like 1%; 模糊检索,表示检索 lac 以 1 开头的所有数据 Select * from xcw where order by lac asc; lac 升序排列显示数据 Select * from xcw where order by lac asc limit 100; lac 升序排列,前 100 个成员数 据,limit 表示抽出的起始位置件数。 Alter table xcw modify lac varchar(20); 改变表中 lac 列的类型 Alter table xcw change Session_ID U_I varchar(20); 改变表中的列的名字 Alter table xcw drop lac; 删除 lac 列 create table guizhou_data select * from ml_data. all_bs_data; 把数据库 ml_data 中的表 all_bs_data 复制到创建的新表 guizhou_data; select xcw.UID, xcw.stime, xcw.duration, xcw.download, xcw.upload,guizhou_jizhan.Longitude,guizhou_https://www.wendangku.net/doc/a517101567.html,titude,guizhou_https://www.wendangku.net/doc/a517101567.html,c,guizhou_jizhan.ci from guizhou_jizhan inner join xcw on guizhou_https://www.wendangku.net/doc/a517101567.html,c=https://www.wendangku.net/doc/a517101567.html,c and guizhou_jizhan.ci=xcw.ci;内联 alter table chaowei add Longitude varchar(15); 增加一列数据 select busi_id,count(user_id) from data_c where stime<='2012-02-27 15:30:30' group by busi_id ; 分类统计 select * from wuhan_2g_14;set @i := 0; select @i := @i + 1 as `order`, wuhan_2g_14.* from wuhan_2g_14 order by Longitude desc;给表中的数据标注序号 use chaowei; select

anshun.stime, anshun.download, anshun_Longitude_Latitude.Longitude, anshun_Longitude_https://www.wendangku.net/doc/a517101567.html,titude from anshun,anshun_Longitude_Latitude where https://www.wendangku.net/doc/a517101567.html,c_id = anshun_Longitude_https://www.wendangku.net/doc/a517101567.html,c and anshun.cell_id = anshun_Longitude_Latitude.ci;
不用 JOIN 的方法
SELECT https://www.wendangku.net/doc/a517101567.html,stName,Orders.OrderNo INTO Persons_Order_Backup FROM Persons INNER JOIN Orders ON Persons.Id_P=Orders.Id_P Select Into 语句。可以联合联合两个表
创建存储过程(store procedure)和函数(function) 创建存储过程的时候 create procedure sp_wuhan。。 。。 创建函数的时候 create function fn_wuhan。。命名规则也不一样,以防 。 混淆,存储过程的参数可以是输入,输出,输入输出,即 in,out,inout 三种 类型的数据,但是函数没有这么多讲究,只有输入参数,没有输出参数和输入输 出参数。另一个不同点就是存储过程可以没有返回值,需要的话可以自己设计, 但是函数必须有返回值。 Delimiter // Create procedure sp_wuhan(in num int, out ber int ) Begin If num>10 then Select * from wuhan_10; Else Select * from wuhan_12; End if; Select found_rows() into ber; End // 调用:call sp_wuhan(2,@ber);select @ber;
因单引号“'”用于 SQL 语句中的标识,所以,python 中的字符串需使用双 引号括住。 此外,也可以使用 python 的“格式化字符串”写法,简化命令,例如: cur.execute("update table set row1 = '%s' where row2 = '%s' "%('value1','value2'))

用MySQL创建数据库和数据库表(新手必看)

用MySQL创建数据库和数据表: 步骤: 1、使用show语句找出在服务器上当前存在什么数据库:mysql>show databases; 2、创建一个数据库test: mysql>create database test; 3、选择你所创建的数据库: mysql>use test; 4创建一个数据表: 首先查看刚才创建的数据库中存在什么表: mysql>show tables; (说明刚才创建的数据库中还没有数据库表)

接着我们创建一个关于students的数据表:包括学生的学号(id),姓名(name),性别(sex),年龄(age)。 mysql>create table students(id int unsigned not null auto_increment primary key,name char(8) not null,sex char(4) not null,age tinyint unsigned not null,); 解释:以"id int unsigned not null auto_increment primary key" 行进行介绍: "id" 为列的名称; "int" 指定该列的类型为int(取值范围为-8388608到8388607), 在后面我们又用"unsigned" 加以修饰, 表示该类型为无符号型, 此时该列的取值范围为0到16777215; "not null" 说明该列的值不能为空, 必须要填, 如果不指定该属性, 默认可为空; "auto_increment" 需在整数列中使用, 其作用是在插入数据时若该列为NULL, MySQL将自动产生一个比现存值更大的唯一标识符值。在每张表中仅能有一个这样的值且所在列必须为索引列。"primary key" 表示该列是表的主键, 本列的值必须唯一, MySQL将自动索引该列。 下面的char(8) 表示存储的字符长度为8, tinyint的取值范围为-127到128, default 属性指定当该列值为空时的默认值。

mysql的多表操作查询

超详细mysql left join,right join,inner join用法分析 下面是例子分析 表A记录如下: aID aNum 1 a20050111 2 a20050112 3 a20050113 4 a20050114 5 a20050115 表B记录如下: bID bName 1 2006032401 2 2006032402 3 2006032403 4 2006032404 8 2006032408 创建这两个表SQL语句如下: CREATE TABLE a aID int( 1 ) AUTO_INCREMENT PRIMARY KEY , aNum char( 20 )

) CREATE TABLE b( bID int( 1 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , bName char( 20 ) ) INSERT INTO a VALUES ( 1, ‘a20050111′ ) , ( 2, ‘a20050112′ ) , ( 3, ‘a20050113′ ), ( 4, ‘a20050114′ ) , ( 5, ‘a20050115′ ) ; INSERT INTO b VALUES ( 1, ‘ 2006032401′ ) , ( 2, ’2006032402′ ) , ( 3,’2006032403′ ) , ( 4, ’2006032404′ ) , ( 8, ’2006032408′ ) ; 实验如下: 1.left join(左联接) sql语句如下: SELECT * FROM a

2.1MySQL创建数据库表

鲁琴Handout #2 网络数据库技术2013-03-04 网络数据库技术—创建数据库和表 学会了如何键入命令后,就可以学习如何访问数据库了。 这部分的主要内容: ◆命令行方式创建数据库和表 ◆界面创建数据库和表 ◆有关表结构 ◆MySQL的数据类型 1.命令行方式创建数据库 这部分主要介绍如何使用MySQL命令行客户端创建及使用一个简单的数据库。 假设要处理学生相关的信息,可以通过创建表来保存数据,以及从表中检索数据。在这部分,我们将学习如何执行下面的操作: ◆创建数据库 ◆创建表 我们可以使用SHOW命令来显示当前服务器上存在的所有数据库。mysql> SHOW DATABASES; Mysql数据库描述了用户的访问权限;test 数据库通常作为示例,做用户的工作空间。 不同的机器显示出的数据库是不同的;如果没有SHOW DATABASES权限的话,用这个命令是不能显示出数据库的。 如果存在test数据库,我们来访问它。 mysql> USE test Database changed

注意:USE命令,同QUIT命令一样, 后面不需要分号(;)(当然了,如果加上;也没有关系)。另外,USE 命令有一点是特别的:它必须写在一行上。 你可以使用test数据库(如果你可以访问它)来试验下面的命令,但是你做的任何操作都可能被同样可以访问这个数据库的其他用户改变。所以你应该请求MySQL管理员允许你使用自己的数据库。假设你自己的数据库名字为xscj,管理员需要执行下面的命令: mysql> GRANT ALL ON xscj.* TO 'your_mysql_name'@'your_client_host'; 这里,your_mysql_name 是MySQL 用户的名字,your_client_host是你现在正在工作的连接到服务器的主机的名字。 1.1 创建数据库 1.1.1 创建数据库xscj mysql> CREATE DATABASE xscj; 在Unix操作系统下,数据库名字区分大小写(这不同于SQL关键字),表名也区分大小写。在Windows操作系统下,数据库名及表名不区分大小写(尽管在同一个查询语句中大小写应一致),但是在使用过程中最好使用与创建时一致的大小写。 注意:当创建数据库时,显示如下错误提示: ERROR 1044 (42000): Access denied for user 'monty'@'localhost' to database 'menagerie' 这表示你的用户账号没有创建数据库的权限,我们在“MySQL访问权限”一节中再讨论这个问题。 1.1.2 选择数据库xscj 创建一个数据库后,并不能直接使用这个数据库。必须用USE命令将这个数据库变成当前活动的数据库: mysql> USE xscj Database changed 同一个数据库只能创建一次,但是每次使用它时都要用USE命令。 另外,可以在连接mysql服务器时,用连接参数指定当前活动的数据库。shell> mysql -h host -u user -p xscj Enter password: ******** 1.1.3 查询当前活动数据库的命令: SELECT DATABASE();

jsp-mysql总结表的操作合集

jsp+mysql进行简单的增删改查总结 第一步创建一个新的包用于封装学生属性 在新包里面创建新的类存入学生属性 publicclass shuxing { String name; int age; String sex; int id; 右击鼠标选择soure-gennerategettersand setters来封装数据 第二步创建另一个新的包用于主体serlvet的操作 Servlet里面操作: 1.因为doget比dopost拥有更强的保密性,所以把dopost的语句也沿用doget的形式 doPost(request,response);注意删除的时候是不是把}也删除了,会报错。2.将设置请求的编码格式为’UTF-8’防止后面输入学生信息的时候出现乱码,之所以放在前面是怕后面写的话就不可以public公用了。 3.读取后面表中按钮的名称,用一个新的名字来获取随后跳转需要调用的语句 String opeationName = request.getParameter("openration");//取出条件的OPENRATION,看执行哪一种语句 4.查看取出的名称是否为空。 opeationName = opeationName==null?"":opeationName.trim();//取出来看下是不是空,不是空去掉空格 5.用if()else()语句来写调用的程序用前面取出的名字 一:删除方法:opeationName.equals("delete") (1).提取要删除的ID String id=request.getParameter("id"); (2).查看是否为空,为空输出“”if(id==null) { id=""; } (3).try{}catch()语句用于报错 try{ int result = doDelete(id);//调用到doDelete的方法 Listqw = new ArrayList();//创建新的集合用于存放数据 qw = getData();//获取数据 request.setAttribute("qw" ,qw);//缓存范围中设置具体的属性:第一个参数是属性名,字符串类型的数据。,也是以后获取的依据条件,第二个是插入的数据,支持对象属性。 (4)跳转进入最开始的jsp页面即查询语句的JSP界面 二.增加opeationName.equals("add") (1).增加不需要提取什么属性。直接获取在JSP中提交的数据即可,但是要观察是否为空String newname=request.getParameter("name");

用MySql创建数据库和表

用MySql创建数据库和表 关键字: mysql 1、使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; +----------+ | Database | +----------+ | mysql | | test | +----------+ 3 rows in set (0.00 sec) 2、创建一个数据库abccs mysql> CREATE DATABASE abccs; 注意不同操作系统对大小写的敏感。 3、选择你所创建的数据库 mysql> USE abccs Database changed 此时你已经进入你刚才所建立的数据库abccs. 4、创建一个数据库表 首先看现在你的数据库中存在什么表: mysql> SHOW TABLES; Empty set (0.00 sec) 说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表 mytable: 我们要建立一个你公司员工的生日表,表的内容包含员工姓名、性别、出生日期、出生城市。 mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1), -> birth DATE, birthaddr VARCHAR(20)); Query OK, 0 rows affected (0.00 sec) 由于name、birthadd的列值是变化的,因此选择VARCHAR,其长度不一定是20。可以选择从1到255的任何长度,如果以后需要改变它的字长,可以使用ALTER TABLE语句。);性别只需一个字符就可以表示:"m"或"f",因此选用 CHAR(1);birth列则使用DATE数据类型。 创建了一个表后,我们可以看看刚才做的结果,用SHOW TABLES显示数据库中有哪些表: mysql> SHOW TABLES; +---------------------+ | Tables in menagerie | +---------------------+ | mytables | +---------------------+

个人总结的mysql常用命令大全

第一招、mysql服务的启动和停止 net stop mysql net start mysql 第二招、登陆mysql 语法如下:mysql -u用户名-p用户密码 键入命令mysql -uroot -p,回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql 的提示符是: mysql> 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP 第三招、增加新用户 格式:grant 权限on 数据库.* to 用户名@登录主机identified by "密码" 如,增加一个用户user1密码为password1,让其可以在本机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令: grant select,insert,update,delete on *.* to user1@localhost Identified by "password1"; 如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。 如果你不想user1有密码,可以再打一个命令将密码去掉。 grant select,insert,update,delete on mydb.* to user1@localhost identified by ""; 第四招:操作数据库 登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。 1、显示数据库列表。 show databases; 缺省有两个数据库:mysql和test。mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。 2、显示库中的数据表: use mysql;

用MySQL创建数据库和数据库表

用MySQL创建数据库和数据库表 帐户luowei505050的专栏 类别数据库 #用MySQL创建数据库和数据库表 #1、使用SHOW语句找出在服务器上当前存在什么数据库:SHOW DATABASES; #2、创建一个数据库db1 create database db1; #3、选择你所创建的数据库 use db1; #use test; #4、创建一个数据库表 create table t_person (FNamevarchar(20),Fageint); # 5、显示表的结构: SHOW TABLES; #查看表中数据 select * from t_person; # 6、往表中加入记录 Insert Into t_person(FName,FAge) values('Jim',25); Insert Into t_person(FName,FAge) values('green',38);

Insert Into t_person(FName,FAge) values('kate',20); Insert Into t_person(FName,FAge) values('john',23); Insert Into t_person(FName,FAge) values('tom',28); Insert Into t_person(FName,FAge) values('daviy',30); #查看表中数据 select * from t_person; # 7、用文本方式将数据装入一个数据库表 LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet; #其它操作 insert into t_person(fname) values('lily'); insert into t_person values('poly',22); updatet_person set fage=30; updatet_person set fage=20 where fname='tom'; updatet_person set fage=50 where fname='tom' or fname='jim'; delete from t_person where fname='jim'; delete from t_person where fage>30; delete from t_person;

mysql多表操作与练习笔记

mysql多表操作与练习 数据库备份与恢复 ◆数据库备份 ◆数据库恢复 多表操作 ◆多表设计 ◆外键介绍与创建 ◆多表查询介绍 ◆多表查询-内连接 ◆多表查询-外连接 ◆多表查询-子查询 SQL练习 【内容:数据库备份与恢复】 数据库备份 数据库的备份是指将数据库转换成对应的sql文件。数据库导出sql脚本的命令如下: ●mysqldump –u用户名–p密码数据库名>生成的脚本文件路径; 以上备份数据库的命令中需要用户名和密码,即表明该命令要在用户没有登录的情况下使用数据库恢复 数据库的恢复指的是使用备份产生的sql文件恢复数据库,即将sql文件中的sql语句执行就可以恢复数据库内容。因为数据库备份只是备份了数据库内容,所以备份产生的sql文件中没有创建数据库的sql语句,在恢复数据库之前需要自己动手创建数据库。 ●在数据库外恢复 mysql -u root -p 数据库名< 文件路径 注意:要求数据库必须先创建出来. ●.在数据库内恢复 source SQL脚本路径:使用这种方式恢复数据,首先要登录数据库 【重点总结】 备份 Mysqldump –u root –p abc mydb>c:/mydb.sql 恢复 1.mysql –u root –p mydb

【内容:多表操作】 多表设计 当我们要完成一个软件系统时,需要把系统中的实体抽取出来,形成概念模型。例如部门、员工都是系统中的实体。概念模型中的实体最终会成为Java中的类、数据库中的表。今天我们需要了解的概念模型包括以下两个: ●对象模型:针对java中的实体类,例如我们之前学习的domain层中的User类等; ●关系模型:对应数据库中的表。 在java中有以下三个关系描述: ●is a:例如猫是动物,表示继承关系; ●has a:例如人有两只手,表示的是类与成员的关系; ●use a:表示类与方法之间的关系; 我们今天主要关注的是第二个关系:类与成员的关系。这种关联关系可以分为如下三种: ●一对一关联:例如身份证与人就是一对一的关系,一个人只有一个身份证,一个身份证 号只属于一个人。 ●一对多关联:例如用户与订单,一个用户可以拥有多个订单,多个订单可以属于同一个 用户,这是一个很明显的一对多关联。 ●多对多关联:例如商品与订单,一个订单中可以包含多个商品,而一个商品也可以存在 于多个订单中,这就是一个多对多关联。 概念模型在java中对应这实体类,在实体类中使用成员变量完成关联关系,而且一般都是双向关联,以下是java中实体类与成员之间的关联关系,如下所示: 一对一关联 //身份证类一的一方 public class IDCard { private Person person; //身份证关联人类一对一 } //人类一的一方 public class Person { private IDCard idcard; //人类关联身份证类一对一 } 一对多关联 //用户一的一方 public class User { private List orders; //用户可以有多个订单,在用户中关联订单} //订单多的一方 public class Order { private User user; //多个订单可以属于一个用户,在订单中关联用户} 多对多关联 // 订单多的一方 public class Order { private List products; //订单中可以包含多个商品,订单关联商品

MySQL建立电子商城数据库

DBMS Project——淘宝数据库设计

一、数据库需求 根据淘宝网的功能设计数据库。使用MySQl 数据库软件完成设计。 淘宝网作为国内最优秀的C2C网站(没有之一)满足了广大人民足不出户方便购物的需求。由最广大买家和买家组建起来的交易平台,每天都有难以计数的数据库应用的需要。从检索,到插入删除,新建列表,都依赖于背后的数据库系统的支持。 我们了解到,淘宝网最初的数据库系统即由MySQl构建,后来随着规模的扩大而升级。本次Project就是运用MySQL来设计实现淘宝的数据库。 具体描述: 1)用户user需先注册。 2)用户登录前,可以检索所有商品goods和店铺shop。用户登陆后,可以下订单order和购买商品,实现加入购物车shoppingcart和收藏夹favourite功能。 3)用户可注册开店,此处需要开店认证功能。为使系统简洁,限制每位用户只能开1家店铺。 4)相同商品按店铺不同区分,ID也不同。即,同一本数据库系统教程,在店铺A和B出售,其ID也不同。同一店铺内同一本书的ID显然相同。 5)下订单后需要支付功能。 6)管理员功能。用户可以对所开店铺内商品进行添加、修改和删除。管理员有权对所有店铺内商品进行删除。

二、E/R图 三、关系设计 1)用户表 User (uid, uname, password, phonenum, email, urate ) 用户表(user)主要包括用户ID,昵称,密码,电话,邮箱。用户ID是主键。

2)店铺表 Shop ( sid, uid, sname, srate, satisfy ) 店铺表(shop )包括店铺ID ,店铺名,用户 ID (即掌柜ID ),店铺等级,顾客满意度。店铺ID 是主键,uid 是外键。 3)商品列表 Goods (gid, gname, sid, price, category, salesvol, reserve, desc ) 商品列表(goods )包括商品ID ,商品名,店铺ID ,价格,品类,销售量, 库存,描述。商品ID 是主键,sid 是外键。

MySQL论坛数据库建表实例(张伟)

CREATE TABLE BBSAccount( AccountID bigint auto_increment primary key, NickName varchar(30) NOT NULL, Birthday datetime, Password varchar(20), State char(2), SEmail varchar(50)); CREATE TABLE BBSSector( SectorID int auto_increment primary key, AccountID bigint not null, SectorName varchar(20) not null, ClickingRate int default ‘0’, TopicCount bigint default ‘0’, FOREIGN KEY(AccountID )REFERENCES BBSAccount(AccountID) ON UPDATE CASCADE ON DELETE RESTRICT);

CREATE TABLE BBSTopic( TopicID bigint auto_increment primary key, AccountID bigint not null, Title varchar(50) not null, TopicText text not null, TopicDate timestamp null default current_timestamp, ReplyCount int not null, ClickingRate int default ‘0’, SectorID int not null, FOREIGN KEY(AccountID) REFERENCES BBSAccount(AccountID)ON UPDATE CASCADE ON DELETE RESTRICT, FOREIGN KEY(SectorID) REFERENCES BBSSector(SectorID)ON UPDATE CASCADE ON DELETE RESTRICT); CREATE TABLE BBSReply(

如何用MySQL创建数据库和数据库表

用MySQL创建数据库和数据库表 1、使用SHOW语句找出在服务器上当前存在什么数据库: 2、创建一个数据库abccs mysql> CREATE DATABASE abccs; 注意不同操作系统对大小写的敏感。 3、选择你所创建的数据库 mysql> USE abccs Database changed 此时你已经进入你刚才所建立的数据库abccs. 4、创建一个数据库表 首先看现在你的数据库中存在什么表: mysql> SHOW TABLES; Empty set (0.00 sec) 说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表mytable: 我们要建立一个你公司员工的生日表,表的内容包含员工姓名、性别、出生日期、出生城市。 由于name、birthadd的列值是变化的,因此选择VARCHAR,其长度不一定是20。可以选择从1到255的任何长度,如果以后需要改变它的字长,可以使用ALTER TABLE语句。);性别只需一个字符就可以表示:"m"或"f",因此选用CHAR(1);birth列则使用DATE数据类型。 创建了一个表后,我们可以看看刚才做的结果,用SHOW TABLES显示数据库中有哪些表:

5、显示表的结构: 6、往表中加入记录 我们先用SELECT命令来查看表中的数据: mysql> select * from mytable; Empty set (0.00 sec) 这说明刚才创建的表还没有记录。 加入一条新记录: 再用上面的SELECT命令看看发生了什么变化。我们可以按此方法一条一条地将所有员工的记录加入到表中。 7、用文本方式将数据装入一个数据库表 如果一条一条地输入,很麻烦。我们可以用文本文件的方式将所有记录加入你的数据库表中。创建一个文本文件“mysql.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以在CREATE TABLE语句中列出的列次序给出,例如:

MySQL基本知识整理--数据库和表的操作

MySQL数据库知识整理 /* MySQL服务操作 */ /* 打开数据库服务 */ net start mysql /* 连接与断开服务 */ mysql -h 地址-P 端口-u 用户名-p 密码 /* 跳过权限验证登录MySQL */ mysqld --skip-grant-tables /* 修改root密码 */ update https://www.wendangku.net/doc/a517101567.html,er set password=password('xxx'); /* 显示正在运行的线程 */ SHOW PROCESSLIST /* 数据库操作 */ /* 查看当前数据库 */ select database(); /* 显示当前时间、用户名、数据库版本 */ select now(), user(), version(); /* 创建库 */ create database[ if not exists] 数据库名数据库选项数据库选项:CHARACTER SET charset_name COLLATE collation_name /* 查看已有库 */ show databases[ like 'pattern'] /* 查看当前库信息*/ show create database 数据库名 /* 修改库的选项信息 */ alter database 库名选项信息 /* 删除库 */ drop database[ if exists] 数据库名同时删除该数据库相关的目录及其目录内容 /* 数据表操作 */ /* 删除表*/ DROP TABLE[ IF EXISTS] 表名 /* 清空表数据 */ TRUNCATE [TABLE] 表名 /* 复制表结构 */ CREATE TABLE 表名 LIKE 要复制的表名

mysql创建表的实例附答案

在example数据库创建一个student表和一个grade表,表结构如下图所示Student表 数据类型主键外键非空唯一自增字段名字段描 述 Num学号Int(10)是否是是否Name姓名Varchar(20)否否是否否Sex性别Varchar(4)否否是否否Birthday出生日 Datetime否否否否否期 Varchar(50)否否否否否Address家庭住 址 Grade表 数据类型主键外键非空唯一自增字段名字段描 述 Id编号Int(10)是否是是是Course课程名Varchar(10)否否是否否S_num学号Int(10)否是是否否Grade成绩Varchar(4)否否否否否 1 将grade表的course字段的数据类型改为varchar(20) 2 将s_num字段的位置改到course字段的前面 3 将grade字段改名为score 4 删除grade表的外键约束 5 将grade表的存储引擎更改为MyISAM类型 6 将student表的address字段删除 7 在student表中增加名为phone的字段,数据类型为INT(10) 8 将grade表改名为gradeinfo 9 删除student表

Create database example; Use example; Crate table student(num int(10) not null unique primary key, Name varchar(20) not null, Sex varchar(4) not null, Birthday datetime, Address varchar(50) ); Create grade (id int(10) not null unique primary key auto_increment, Course varchar(10) not null, S_num int(10) not null, Grade varchar(4) Constraint grade_fk foreign key(s_num) reference student(num) ); Desc student; Show create table grade \G; Alter table grade modify course varchar(20); Alter table grade modify s_num int(10) after id; Alter table grade change grade score varchar(4); Alter table grade drop foreign key grade_fk; Alter table grade engine=myisam; Alter table student drop address;

mysql有关表操作实例

在student表和score表上进行查询

1 创建student表和score表 2 为student表和score表增加记录 3 查询student表的所有记录 4 查询student表的第2条到第4条记录 5 从student表查询所有学生的学号id、姓名name和院系deparement的信息 6 从student表中查询计算机系和英语系的学生的信息 7 从student表中查询年龄为18-22岁的学生的信息 8 从student表中查询每个院系有多少人 9 从score表中查询每个科目的最高分 10 查询李四的考试科目和考试成绩 11 用连接查询方式查询所有学生的信息和考试信息 12 计算每个学生的总成绩 13 计算每个考试科目的平均成绩 14 查询计算机成绩低于95的学生的信息 15 查询同时参加计算机和英语考试的学生的信息 16 将计算机考试成绩按从高到低进行排序 17 从student表和score表中查询出学生的学号,然后合并查询结果 18 查询姓张或者姓王的同学的姓名、院系和考试科目及成绩 19 查询都是湖南的同学的姓名、年龄、院系和考试科目及成绩 (1)创建student表。SQL代码如下: CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name V ARCHAR(20) NOT NULL , sex V ARCHAR(4) , birth YEAR, department V ARCHAR(20) , address V ARCHAR(50) ); 创建score表。SQL代码如下: CREATE TABLE score ( id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT , stu_id INT(10) NOT NULL , c_name V ARCHAR(20) , grade INT(10) ); (2)为进行查询,需要向student表和score表中插入一些数据。 向student表插入记录的INSERT语句如下: INSERT INTO student V ALUES( 901,'张老大', '男',1989,'计算机系', '北京市海淀区'); INSERT INTO student V ALUES( 902,'张老二', '男',1990,'中文系', '北京市昌平区');

实验二MYSQL数据库与表的创建

实验二MYSQL数据库与表的创建 实验平台:安装MYSQL数据库的PC 实验目的:1.深入MYSQL数据表的存储引擎与字段数据类型。 2.掌握MYSQL数据库与数据表的基本操作。 实验内容:1.创建数据库,并查看当前数据库与删除数据库。 2.数据表的创建、修改、删除。 3. 对数据表中的数据进行插入数据,修改数据,删除数据操作。 实验具体要求: 1、数据库模式 ①利用select @@sql_mode命令查看数据库的模式 ②利用set session sql_mode=”模式名”命令修改当前数据库的模式 2、表的存储引擎 ①查看当前默认存储引擎:Show variables like ‘storage_engine’; ②查看当前数据库支持的存储引擎:Show engines;或Show variables like ‘have%; 3、创建数据表 ①创建数据库 stm ②学生表:Student(Sno,Sname,Ssex,Sage,Sdept,Shobby) 课程表:Course(Cno,Cname,Ccredit) 学生选课表:SC(Sno,Cno,Grade) 要求1:sno、sname、Cno为Char(10);Sdept 、Cname 为varchar(20);Sage、Ccredit、Grade为int;Ssex为enum(“男”,”女”);Shobby为set(“旅游”,”音乐”,”读书”,”绘画”,”体育”)。 要求2:利用check子句在sage上建立约束,只能输入18~40之间的整数。 要求3:建立从sc表到student、course表上的外键,实现级联更新和删除 要求4:向每个表中输入数据。 ③利用Desc tablename;或Describe tablename;或Show create table tablename; 或show columns from 表名; 查看表的结构。 4、修改表的结构 利用CREATE TABLE newtable LIKE mytbl,创建一个跟Student结构相同的新表stud。 然后利用Alter tbale语句实现下面操作: ①修改表名为stud1、修改字段名sdept为dept ②修改字段数据类型dept 字段改为varchar(20) ③修改字段排列位置把shobby调整到最前面的字段 ④增加字段Sclassroom char(4)、删除该字段 ⑤更改表的存储引擎为MyISAM ⑥添加、删除表的外键约束及主键约束 5、创建表的索引 利用CREATE INDEX和ALTER TABLE ADD INDEX语句添加索引 ①在student表上创建多字段索引:Ssex升序、Sage降序 ②在student表上创建前缀索引:Sdept(5) ③利用Explain查看索引是否被使用 ④删除刚建立的前缀索引

MySQL数据库基础与实例教程练习题参考答案

MySQL数据库基础与实例教程练习题参考答案 由于时间仓促,答案中难免存在错误,不妥之处恳请读者批评指正! 第一章答案 1.数据库管理系统中常用的数学模型有哪些? 数据库管理系统通常会选择某种“数学模型”存储、组织、管理数据库中的数据,常用的数学模型包括“层次模型”、“网状模型”、“关系模型”以及“面向对象模型”等。 2.您听说过的关系数据库管理系统有哪些?数据库容器中通常包含哪些数据库对象? 目前成熟的关系数据库管理系统主要源自欧美数据库厂商,典型的有美国微软公司的SQL Server、美国IBM公司的DB2和Informix、德国SAP公司的Sybase、美国甲骨文公司的Oracle。 数据库容器中通常包含表、索引、视图、存储过程、触发器、函数等数据库对象。 3.通过本章知识的讲解,SQL与程序设计语言有什么关系? SQL并不是一种功能完善的程序设计语言,例如,不能使用SQL构建人性化的图形用户界面(Graphical User Interface,GUI),程序员需要借助Java、VC++等面向对象程序设计语言或者HTML的FORM表单构建图形用户界面(GUI)。如果选用FORM表单构建GUI,程序员还需要使用JSP、PHP或者.NET编写Web应用程序,处理FORM表单中的数据以及数据库中的数据。 其他答案: 1、首先SQL语言是数据库结构化查询语言,是非过程化编程语言。而程序设计语言则有更多的面向对象及逻辑程序设计。比如用SQL语言编写图形用户界面(例如窗口、进度条),是无法实现的。 2、SQL语言可以说是,程序设计语言和数据库之间的一个翻译官。程序设计语言需要操作数据库时,需要借助(或者说调用)SQL语言来翻译给数据库管理系统。 3、不同数据库管理系统会有一些特殊的SQL规范,比如 limit关键词在SQL Server中无法使用。而这些规范与程序设计语言无关。 4.通过本章的学习,您了解的MySQL有哪些特点? 与题目2中列举的商业化数据库管理系统相比,MySQL具有开源、免费、体积小、便于安装,但功能强大等特点。 5.通过本章的学习,您觉得数据库表与电子表格(例如Excel)有哪些区别? 限于本章的知识点:外观上,关系数据库中的一个数据库表和一个不存在“合并单元格”的电子表格(例如Excel)相同。与电子表格不同的是:同一个数据库表的字段名不能重复。为了优化存储空间以及便于数据排序,数据库表的每一列必须指定某种数据类型。 关系数据库中的表是由列和行构成的,和电子表格不同的是,数据库表要求表中的每一行记录都必须是唯一的,即在同一张数据库表中不允许出现完全相同的两条记录。 6.您所熟知的数据库设计辅助工具有哪些?您所熟知的模型、工具、技术有哪些? 数据库设计辅助工有数据模型、数据建模工具、关系数据库设计技术。其中常用的数据模型有ER模型和类图;常用的数据建模工具如ERwin、PowerDesigner、Visio等;常用的关系数据库设计技术如数据库规范化技术。 1.模型 数据模型有E-R图或者类图等数据模型。业务模型有程序流程图、数据流程图DFD、时序

mysql-多表关联实例

Mysql学习中,单表查询每个人都很容易掌握;但是多表之间的关联查询对于初学者是很难掌握的,以下是我学习中,结合老师所讲例子作的总结,主要就是三张表的关联查询。还包括group by操作。Join on;left join on;group by。。。。。 三张表的具体信息: 学生表student 课程表course 学生课程关系表s_to_c

group by 的简单使用: SELECT age, COUNT(1) FROM student GROUP BY age SELECT name, COUNT(1) FROM student GROUP BY name

SELECT COUNT(DISTINCT gender) FROM student -- 4、每个学生所参与的课程的个数 SELECT a.stu_id, https://www.wendangku.net/doc/a517101567.html,, a.gender, a.age, COUNT(b.c_id) FROM student a LEFT JOIN s_to_c b ON a.stu_id=b.s_id GROUP BY a.stu_id, https://www.wendangku.net/doc/a517101567.html,, a.gender, a.age SELECT a.stu_id, https://www.wendangku.net/doc/a517101567.html,, a.gender, a.age,

COUNT(b.c_id) FROM student a INNER JOIN s_to_c b ON a.stu_id=b.s_id GROUP BY a.stu_id, https://www.wendangku.net/doc/a517101567.html,, a.gender, a.age -- 5、每个课程参与的学生个数 SELECT a.c_id, a.c_name, COUNT(b.s_id) FROM course a LEFT JOIN s_to_c b ON a.c_id=b.c_id GROUP BY a.c_id, a.c_name -- 6、每个学生的信息以及其参与的课程名称

大学数据库创建mysql

drop table prereq; drop table time_slot; drop table advisor; drop table takes; drop table student; drop table teaches; drop table section; drop table instructor; drop table course; drop table department; drop table classroom; create table classroom (building varchar(15), room_number varchar(7), capacity numeric(4,0), primary key (building, room_number) ); create table department (dept_name varchar(20), building varchar(15), budget numeric(12,2) check (budget > 0), primary key (dept_name) ); create table course (course_id varchar(8), title varchar(50), dept_name varchar(20), credits numeric(2,0) check (credits > 0), primary key (course_id), foreign key (dept_name) references department(dept_name) on delete set null ); create table instructor (ID varchar(5), name varchar(20) not null, dept_name varchar(20), salary numeric(8,2) check (salary > 29000), primary key (ID), foreign key (dept_name) references department(dept_name) on delete set null );

相关文档
相关文档 最新文档