> 唯美句子 > MySql在create语句中定义外

MySql在create语句中定义外

MySql在create语句中定义外键约束?

CONSTRAINT `FK936FCAF21DB1FD15` FOREIGN KEY (`cid`) REFERENCES `category` (`cid`)

FK936FCAF21DB1FD15是约束的名字,然后意思是本表的cid被 一个名字叫做category的表中的cid所约束,或者说一致。

ENGINE=InnoDB是使能使用外键,事务等功能,需要用到innodb引擎。

AUTO_INCREMENT=37用来指定一个自增的初始值为37

如何查看MySQL数据库的create database语句

打开cmd,输入mysql -u 用户名 -p回车根据提示输入密码

进入mysql数据库控制台

查看当前数据库中存在那些数据库,使用show databases语句

使用show create database 数据库名 格式来查看数据库的详细创建信息

通过在show create database语句后面追加 \G参数来格式化输出信息,便于查看

mysql创建用户并给与一个完整的数据库,怎么写语句

1、用管理员登陆mysql

2、创建数据库create database db01;

3、创建用户

user01只能本地访问

CREATE USER user01@'localhost' IDENTIFIED BY 'password1';

user02可以远程访问

CREATE USER user02@'%' IDENTIFIED BY 'password1';

4、修改user01密码

SET PASSWORD FOR 'user01'@'localhost' = PASSWORD('password2');

5、授权

a)、user01管理db01全部权限

GRANT ALL PRIVILEGES ON db01.* TO user01;

b)、user02查看权限,并修改密码

GRANT SELECT ON *.* TO 'user02'@'%' IDENTIFIED by 'password2';

mysql怎么用sql语句创建表

DROP TABLE IF EXISTS `user_info`;

CREATE TABLE `user_info` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(20) NOT NULL,

`sex` enum(F,M,S),

`salary` int(11) DEFAULT '0',

`department`  varchar(30),

PRIMARY KEY (`id`)

) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

注意:

(1)MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。

(2)MyISAM 类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持。

(3)InnoDB 提供事务支持以及外键等高级数据库功能。

因此在创建表的时候你可以根据不同的需求进行engine的选择

mysql新建一个表的语句是什么?

create table gbook(id int primary key autoincrement, name varchar(20) not null, sex char(2) not null, email varchar(30), info varchar(200), ip varchar(20), time_at now()) 这样就可以了,其他的字段没什么说的。我只说下最后的时间那里,我使用了函数now(),该函数能够返回当前的时间,格式如下:`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中。 你这里的time_at应该是登陆或者这侧时间,取用系统的当前时间比较合适。所以这里使用了函数now()来获取系统的当前时间能够精确到毫秒!~

Navicat for MySQL界面下如何用SQL语句创建表?

选择一个数据库,点击“查询”,在右侧点击“创建查询”,输入SQL语句,点击“执行”就可以了,示例SQL:

CREATE TABLE `test`.`users` (

`id` int(10) NOT NULL AUTO_INCREMENT,

`name` varchar(20) DEFAULT NULL,

`age` int(10) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

MYSQL插入语句问题

INSERT INTO mt_message (`id`,`name` ,`tel` ,`email` )VALUES (NULL,'111111111', '11', '1')

INSERT INTO mt_message(`id` ,`name` ,`tel` ,`email` ,`qita` ,`content` ,`shijian` ,`user` ,`huifu` ,`shenhe`

//)VALUES (NULL , '1', '2', '', '', '', NOW( ) , '', '', '')

只能说明:你从email开始后面的字段其中有一个是不能为空的,而且没有初始值

所以你第一个语句插入失败了

我估计应该问题就是在你的时间(shijian)字段,因为后面基本都是空的,只有时间不是

你可以去检查一个你的这张message表,在mysql命令行用:desc message

检查数据表的字段名和字段属性,如果不行你可以重新建立数据表的

要是想知道出错在哪里,你可以这样写:

<?php

//..上面程序略

$sql="INSERT INTO mt_message (`id`,`name` ,`tel` ,`email` )VALUES (NULL,'111111111', '11', '1')";

$query=mysql_query($sql);

//执行

if($query)

//执行成功

echo 'OK';

else

echo '插入失败,错误报告是:'.mysql_error();

//输出mysql错误信息函数:mysql_error();

?>

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

MySQL语句创建表

【1】建立员工档案表

要求字段:员工员工编号,员工姓名,性别,工资,email,入职时间,部门。

【2】合理选择数据类型及字段修饰符,要求有NOT NULL,auto_increment, primary key等。

[sql] view plain copy

--

-- make by kakane

--

DROP TABLE IF EXISTS `workers_info`;

CREATE TABLE `workers_info` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`workername` varchar(20) NOT NULL,

`sex` enum(F,M,S),

`salary` int(11) DEFAULT '0',

`email` varchar(30),

`EmployedDates` date,

`department` varchar(30),

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

mysql> alter table workers_info ADD sex enum('F','M','S');[sql] view plain copy

【3】查看表的结构

[html] view plain copy

mysql> desc workers_info;

【4】新增qq和tel字段,要求tel字段位于email前,要求入职时间是最后一个字段mysql> ALTER TABLE workers_info ADD tel varchar(15) after salary;[sql] view plain copy

mysql> ALTER TABLE workers_info ADD qq int;ALTER TABLE workers_info MODIFY EmployedDates date after qq;【5】把email字段修改成mailbox

mysql> ALTER TABLE workers_info CHANGE email mailbox varchar(30);【6】向表里添加10条记录

mysql> INSERT INTO workers_info values(NULL,'xing',10000,'1598232123','xing@qq','yanfa',736019646,20121221);[sql] view plain copy

mysql> INSERT INTO workers_info (workername,salary,tel,mailbox,department,qq,EmployedDates) values('xing',10000,'1598232123','xing@qq','yanfa',736019646,20121221);【7】修改其中两条记录的tel和mailbox

mysql> UPDATE workers_info SET mailbox = 'haha@qq' WHERE id = 14;[sql] view plain copy

mysql> UPDATE workers_info SET mailbox = 'haha@qq',tel='1246543423' WHERE id = 13;【8】查看所添加记录

mysql> select * from workers_info;

【9】查看姓名和入职时间记录

mysql> select workername,EmployedDates from workers_info;【10】查询入职时间在2003年以前的

[sql] view plain copy

mysql> select * from workers_info where year(EmployedDates) < 2003;[sql] view plain copy

【11】查询工资最高和最低的员工姓名

[sql] view plain copy

mysql> select * from workers_info ORDER BY salary limit 1;mysql> select * from workers_info ORDER BY salary desc limit 1;【12】查询平均工资

[sql] view plain copy

mysql> select avg(salary) from workers_info;[sql] view plain copy

【13】统计男员工人数、女员工人数

[sql] view plain copy

mysql> select count(男) from workers_info where sex="M";mysql> select count(男) from workers_info where sex="M";【14】按照入职时间先后进行排序,并显示前5位员工姓名[sql] view plain copy

mysql> select * from workers_info ORDER BY EmployedDates limit 5;

mysql怎么用sql语句创建存储过程

可以在客户端里面直接写 比如用 navicat 就写:

delimiter $$;

create procedure lucia_proc16(count int)

begin

DECLARE name_proc VARCHAR(20) CHARACTER SET utf8;

DECLARE sex_proc VARCHAR(4) CHARACTER SET utf8;

DECLARE age_proc INT(10);

DECLARE class_proc VARCHAR(20) CHARACTER SET utf8;

DECLARE Addr_proc VARCHAR(50) CHARACTER SET utf8;

DECLARE i INT;

set i = 1;

set sex_proc = '女';

set age_proc = 20;

set class_proc = '山治班';

set Addr_proc = '北京市朝阳区';

while i<count do

set name_proc = CONCAT('露西亚',i);

insert into students(Name,Sex,age,class,Addr)values(name_proc,sex_proc,age_proc,class_proc,Addr_proc);

set i = i+1;

end while;

end

$$;

delimiter;

call lucia_proc16(500);

这个就是一个循环插入 500 条记录的 sp 效果如下:

mysql用sql语句创建表和数据库怎么设置字符编码'

方法如下:

*

我们先建一个DEMO表,来做我们今天的实现,建表语句如下:

CREATE TABLE

DEMO

(

NAME VARCHAR(50) COMMENT '姓名',

SEX CHAR(1) COMMENT '性别',

PRIMARY KEY (NAME)

)

ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='例子表';

并且select查询一下,如下图

*

增加一个AGE字段,

ALTER TABLE DEMO ADD AGE CHAR(3);

select查询一下,如下图

请对比上下图,可以发现 多出了一个AGE字段,此处是CHAR类型的。

*

那么如何删除我们刚加的字段呢,

ALTER TABLE DEMODROP COLUMN AGE;

select查询一下,如下图

请对比上下图,可以发现 AGE字段被删除掉了

*

我们在把这个字段加回来

ALTER TABLE DEMO ADD AGE CHAR(3);,

我们用视图工具DBVISUAL看下表机构,这时AGE字段是CHAR类型的

*

我们如果需要把这个字段修改为VARCHAR类型的怎么办呢,

ALTER TABLE DEMO MODIFY  AGE   VARCHAR(20),

然后我们在用视图工具DBVISUAL看下表机构,这时AGE字段是VARCHAR类型的

*