重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
insert into temp_table
创新互联建站-专业网站定制、快速模板网站建设、高性价比安仁网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式安仁网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖安仁地区。费用合理售后完善,十余年实体公司更值得信赖。
select * from (
select 'a',id,name form a
union all
select 'b',id,name form b
) c
你说的是给每一个用户 只添加对表的查看权限吧~
/*插入一个用户*/
INSERT INTO mysql.user
(HOST,
USER,
PASSWORD)
VALUES ('%',
'test01',
PASSWORD('123'),
);
FLUSH PRIVILEGES;
/*对用户的数据库的查看权限*/
INSERT INTO mysql.db
(HOST,
db,
USER,
Select_priv)
VALUES ('%',
'test',
'test01','Y');
FLUSH PRIVILEGES;
/*对用户的表的查看权限*/
INSERT INTO mysql.tables_priv
(HOST,
db,
USER,
table_name,
grantor,
Table_priv)
VALUES ('%',
'test',
'test01',
'psp_reschdule',
'root@localhost',
'Select');
FLUSH PRIVILEGES;
用的是 直接修改 user表的方式比较原始 和粗糙
先看一下最简单的例子,在test中,添加一个字段,字段名为birth,类型为date类型。
mysql
alter
table
test
add
column
birth
date;
Query
OK,
rows
affected
(0.36
sec)
Records:
Duplicates:
Warnings:
查询一下数据,看看结果:
mysql
select
*
from
test;
+------+--------+----------------------------------+------------+-------+
|
t_id
|
t_name
|
t_password
|
t_birth
|
birth
|
+------+--------+----------------------------------+------------+-------+
|
1
|
name1
|
12345678901234567890123456789012
|
NULL
|
NULL
|
|
2
|
name2
|
12345678901234567890123456789012
|
2013-01-01
|
NULL
|
+------+--------+----------------------------------+------------+-------+
2
rows
in
set
(0.00
sec)
从上面结果可以看出,插入的birth字段,默认值为空。我们再来试一下,添加一个birth1字段,设置它不允许为空。
mysql
alter
table
test
add
column
birth1
date
not
null;
Query
OK,
rows
affected
(0.16
sec)
Records:
Duplicates:
Warnings:
居然执行成功了!?意外了!我原来以为,这个语句不会成功的,因为我没有给他指定一个默认值。我们来看看数据:
mysql
select
*
from
test;
+------+--------+----------------------------------+------------+-------+------------+
|
t_id
|
t_name
|
t_password
|
t_birth
|
birth
|
birth1
|
+------+--------+----------------------------------+------------+-------+------------+
|
1
|
name1
|
12345678901234567890123456789012
|
NULL
|
NULL
|
0000-00-00
|
|
2
|
name2
|
12345678901234567890123456789012
|
2013-01-01
|
NULL
|
0000-00-00
|
+------+--------+----------------------------------+------------+-------+------------+
2
rows
in
set
(0.00
sec)
哦,明白了,系统自动将date类型的值,设置了一个默认值:0000-00-00。下面我来直接指定一个默认值看看:
mysql
alter
table
test
add
column
birth2
date
default
'2013-1-1';
Query
OK,
rows
affected
(0.28
sec)
Records:
Duplicates:
Warnings:
mysql
select
*
from
test;
+------+--------+----------------------------------+------------+-------+------------+------------+
|
t_id
|
t_name
|
t_password
|
t_birth
|
birth
|
birth1
|
birth2
|
+------+--------+----------------------------------+------------+-------+------------+------------+
|
1
|
name1
|
12345678901234567890123456789012
|
NULL
|
NULL
|
0000-00-00
|
2013-01-01
|
|
2
|
name2
|
12345678901234567890123456789012
|
2013-01-01
|
NULL
|
0000-00-00
|
2013-01-01
|
+------+--------+----------------------------------+------------+-------+------------+------------+
2
rows
in
set
(0.00
sec)
看到没,将增加的birth2字段,就有一个默认值了,而且这个默认值是我们手工指定的。
关于MySQL中给表添加一个字段,本文就介绍这么多,希望对大家有所帮助,谢谢!
进入数据库后,
先 use 数据库名;
然后:
alter table customers rename custs;
ALTER TABLE table_name COMMENT='这是表的注释';
1.给表加注释:
ALTER TABLE table_name COMMENT='这是表的注释';
2.给列加注释:
ALTER table table_name MODIFY `column_name` datetime DEFAULT NULL COMMENT '这是字段的注释'
首先码却保你这张表中没有PRIMARY KEY,如果有先删除这张表中的 PRIMARY KEY,
然后创建一个自增长字段
语法如下:
ALTER TABLE `表名` ADD `字段名` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
例如:
ALTER TABLE `custnew` ADD `cust_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY