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=utf-8;
注意:
(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=utf-8;
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=utf-8;
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.com','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.com','yanfa',736019646,20121221);【7】修改其中兩條記錄的tel和mailbox
mysql> UPDATE workers_info SET mailbox = 'haha@qq.com' WHERE id = 14;[sql] view plain copy
mysql> UPDATE workers_info SET mailbox = 'haha@qq.com',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="">
【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<>
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=utf-8 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類型的
*
轉載請注明出處句子大全網 » MySql在create語句中定義外