linux suse mysql 怎么创建数据库

linux suse mysql 怎么创建数据库,第1张

Suse Linux下数据库创建新用户简单版

1首先需要root权限登录数据库,

sqlplus sys/sys@oracle_ip

2创建新的用户名和密码

create user username identified by password;

3现在退出root用户 使用sqlplus username/password@oracle_ip

即可以新用户名登录

4初次登陆会提示没有一个关于session的问题,这时就需要给你的用户增加

session,grant create session to username;

5增加session后再次登录,create table table_name 会发现,

提示无权建表,此时需要重新登录root,

sqlplus sys/sys@oracle_ip,然后给自己的用户增加权限。

6一劳永逸的做法便是,给你的用户增加DBA权限,

grant DBA to username;当然如果你不想,也可以只增加建表权限,

建议你建一个触发器,在插入数据之前触发即可实现你要的功能。

示例代码如下:

mysql> CREATE TABLE tb(BH CHAR(16),content VARCHAR(20),`date` DATETIME,val INT);

Query OK, 0 rows affected (005 sec)

mysql>

mysql>

mysql> DELIMITER $$

mysql> DROP TRIGGER IF EXISTS tri_NewBH $$

Query OK, 0 rows affected, 1 warning (000 sec)

mysql>

mysql> CREATE TRIGGER tri_NewBH BEFORE INSERT ON tb

    -> FOR EACH ROW

    -> BEGIN

    ->     DECLARE dt CHAR(8);

    ->     DECLARE bh_id CHAR(16);

    ->     DECLARE number INT;

    ->     DECLARE new_bh VARCHAR(16);

    ->

    ->     SET dt = DATE_FORMAT(CURDATE(),'%Y%m%d');

    ->

    ->     SELECT

    ->         MAX(BH) INTO bh_id

    ->     FROM tb

    ->     WHERE BH LIKE CONCAT(dt,'%');

    ->

    ->     IF bh_id = '' OR bh_id IS NULL THEN

    ->         SET new_bh = CONCAT(dt,'00000001');

    ->     ELSE

    ->         SET number = RIGHT(bh_id,8) + 1;

    ->         SET new_bh =  RIGHT(CONCAT('00000000',number),8);

    ->         SET new_bh=CONCAT(dt,new_bh);

    ->     END IF;

    ->

    ->     SET NEWBH = new_bh;

    -> END$$

Query OK, 0 rows affected (009 sec)

mysql>

mysql> DELIMITER ;

mysql> INSERT INTO tb(content,`date`,val) VALUES('LiangCK','2009-05-11',20);

Query OK, 1 row affected (000 sec)

mysql> INSERT INTO tb(content,`date`,val) VALUES('LiangCK','2009-05-11',20);

Query OK, 1 row affected (001 sec)

mysql> INSERT INTO tb(content,`date`,val) VALUES('LiangCK','2009-05-11',20);

Query OK, 1 row affected (000 sec)

mysql> INSERT INTO tb(content,`date`,val) VALUES('LiangCK','2009-05-11',20);

Query OK, 1 row affected (000 sec)

mysql> INSERT INTO tb(content,`date`,val) VALUES('LiangCK','2009-05-11',20);

Query OK, 1 row affected (000 sec)

mysql> INSERT INTO tb(content,`date`,val) VALUES('LiangCK','2009-05-11',20);

Query OK, 1 row affected (001 sec)

mysql> INSERT INTO tb(content,`date`,val) VALUES('LiangCK','2009-05-11',20);

Query OK, 1 row affected (000 sec)

mysql> SELECT  FROM tb;

+------------------+---------+---------------------+------+

| BH               | content | date                | val  |

+------------------+---------+---------------------+------+

| 2009051100000001 | LiangCK | 2009-05-11 00:00:00 |   20 |

| 2009051100000002 | LiangCK | 2009-05-11 00:00:00 |   20 |

| 2009051100000003 | LiangCK | 2009-05-11 00:00:00 |   20 |

| 2009051100000004 | LiangCK | 2009-05-11 00:00:00 |   20 |

| 2011051200000001 | LiangCK | 2009-05-11 00:00:00 |   20 |

| 2011051200000002 | LiangCK | 2009-05-11 00:00:00 |   20 |

| 2011051200000003 | LiangCK | 2009-05-11 00:00:00 |   20 |

+------------------+---------+---------------------+------+

7 rows in set (000 sec)

以上就是关于linux suse mysql 怎么创建数据库全部的内容,包括:linux suse mysql 怎么创建数据库、linux下mysql数据库建一个人员表关于字段的设置、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9497705.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存